#include<iostream>
using namespace std;
template<class T>
class aa
{
public:
double IZ;
aa(T A);
};
template<class T>
aa<T>::aa(T A)
{
IZ=A;
}
void main()
{
int a(10),b(20);
aa to(a);
cout<<to.IZ<<endl;
}
Помогите разобраться с использованием шаблонов в С++
В частности вот не рабочий код
Код:
И ещё если несколько раз использовать дин и тот же шаблон, то можно ли не объявлять его много раз?
В смысле несколько раз объявлять? Ты пишешь этот код, а потом просто создаешь экземпляры шаблона с параметром - Тип!
Я просто пытаюсь на примере этого кода разобраться с использованием шаблонов, но не получается,…
Цитата: Schuler
Я просто пытаюсь на примере этого кода разобраться с использованием шаблонов, но не получается,…
Шаблоны нужны дабы программист не писал один и тот же код(функцию, контейнер) для различных типов данных несколько раз.
Например, класс списка. Если не использовать шаблоны, то программисту пришлось бы переписывать его для каждого типа данных, ну или использовать не типизированный указатель войд(так к слову)!
Например
Код:
template<class T>
class CList
{
public:
.........................
private:
struct Node
{
T& TDate;
Node* pstNext;
.........................
};
Node* pstHead;
..........................
}
class CList
{
public:
.........................
private:
struct Node
{
T& TDate;
Node* pstNext;
.........................
};
Node* pstHead;
..........................
}
Нам совершенно все равно какой тип данных пользователь будет хранить в нашем контейнере.
Код:
CList<int> intList;
CList<string> strList;
CList<myclass> classList;
CList<string> strList;
CList<myclass> classList;
Достаточно просто создать список и все будет замечательно работать.
Надеюсь я не много разъяснил тебе на счет шаблоном.
Спасибо