Введение в программирование

       

Реализация методов шаблона класса 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()<


Содержание раздела