Реализация методов шаблона класса template
template <class T1> // Описание шаблона класса class A { T1 x,y; public: A(); ~A(); T1 Fx(); void Fy(T1 a, T1 b); }; template <class T1> A< T1>::A() {} // Реализация методов шаблона класса template <class T1> A< T1>::~A() {} template <class T1>T1 A< T1>::Fx(){ return x*y;} template <class T1>void A< T1>::Fy(T1 a, T1 b) {x=a; y=b;} int main(int argc, char* argv[]) { int i1=1; int i2=2; double x=1.5; double y=2.5; A <int> F1; // Создание объекта с использованием шаблона класса A <int> *pF1=&F1; // Указатель на объект параметризированного типа pF1->Fy(i1,i2); std::cout<<pF1->Fx()<<std::endl; A <double> F2; A <double> *pF2=&F2; pF2->Fy(x,y); std::cout<<pF2->Fx()<<std::endl; return 0; } |
Пример 12.2. Создание объекта на основе шаблона класса |
Закрыть окно |
template // Описание шаблона класса
class A
{
T1 x,y;
public:
A();
~A();
T1 Fx();
void Fy(T1 a, T1 b);
};
template A< T1>::A() {} // Реализация методов шаблона класса
template A< T1>::~A() {}
template T1 A< T1>::Fx(){ return x*y;}
template void A< T1>::Fy( T1 a, T1 b) {x=a; y=b;}
int main(int argc, char* argv[])
{ int i1=1;
int i2=2;
double x=1.5;
double y=2.5;
A F1; // Создание объекта с использованием шаблона класса
A *pF1=&F1; // Указатель на объект параметризированного типа
pF1->Fy(i1,i2);
std::cout<Fx()< F2;
A *pF2=&F2;
pF2->Fy(x,y);
std::cout<Fx()<