类的模板:
声明的一般形式:template<class T1,class T2,......>。
定义对象的形式为: 类模板名 <实际类型名> 对象名,如下面的代码 Test <int,double> GG。
类模板定义对象且初始化的形式为:类模板名 <实际类型名> 对象名(实参列表)。
在类模板外定义成员函数:template <class T>
函数类型 类模板名 <T> ::成员函数名(形参列表) {函数体}
#include<iostream>
using namespace std;
template <class T1,class T2>
class Test
{
public:
void SetData1(T1 val)
{
data1=val;
}
void SetData2(T2 val)
{
data2=val;
}
T1 GetData1()
{
return data1;
}
T2 GetData2()
{
return data2;
}
private:
T1 data1;
T2 data2;
};
void main()
{
Test <int,double> GG;
GG.SetData1(20);
GG.SetData2(22.20);
cout<<GG.GetData1()<<endl;
cout<<GG.GetData2()<<endl;
Test <char,bool> MM;
MM.SetData1('h');
MM.SetData2(true);
cout<<MM.GetData1()<<endl;
cout<<MM.GetData2()<<endl;
}
运行结果: