• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Шаблоны! Нужен Подробный Комментарий Строк

  • Автор темы Edip
  • Дата начала
E

Edip

C++:
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
template <typename T> void root (T, T);
template <typename T> void root (T, T, T);

void main()
{  
root(1,2);
root(2.,5.,2.);
cin.get();
}
template <typename T> void root (T a, T b) 
{
if ((a==0) && (b==0))
{
cout<<"Net resheniy\n";
}
else 
{ 
if ((b!=0) && (a==0))
{
cout<<"x=0\n";
}
else 
{
cout<<"x="<<(-b/(2*a))<<"\n";
}
}
}
template <typename T> void root (T a, T b, T c) 
{
double x1,x2;
double D=b*b-4*a*c;
if (D<0) 
{
cout<<"Korney net!\n";
}
else 
{
if (D==0) 
{
cout<<"x="<<(-b/(2*a))<<"\n";
}
else 
{
x1=-((b+pow(D,0.5))/(2*a));
x2=-((b-pow(D,0.5))/(2*a));
if (((x1+x2)==(-(b/a)))&&((x1*x2)==(c/a))) 
{
cout<<"x1="<<x1<<"\n";
cout<<"x2="<<x2<<"\n";
} 
else
{
cout<<":((\n";
}
}
}
}
 
W

Whatka

C++:
//
template <typename T> void root (T, T);// объявление (1) перегруженной функции с двумя параметрами переменного типа,невозвращающая значения
template <typename T> void root (T, T, T);// объявление (2) перегруженной функции с тремя параметрами переменного типа,невозвращающая значения
//...
root(1,2);//вызов функции (1) для целочисленных типов
root(2.,5.,2.);//вызов функции (2) для дробных типов
//...
template <typename T> void root (T a, T b) //инициализация (1)
{
/*
тело фунции
*/
}
template <typename T> void root (T a, T b, T c) //инициализация (2)
{
/*
тело фунции
*/
}
//
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!