#include "iostream"
using namespace std;
template <class T1,class T2>
class AA
{
public:
T1 m_a;//通用类型用于成员变量
T2 m_b;//通用类型用于成员变量
AA(){}//默认构造函数是空的
//通用类型用于成员函数的参数。
AA(T1 a,T2 b):m_a(a),m_b(b){}
//通用类型用于成员函数的返回值
T1 geta()
{
T1 a=2;//通用类型用于成员函数的代码中
return m_a+a;
}
T2 getb()//获得成员m_b的数量
{
T2 b=1;//通用类型用于成员函数的代码中。
return m_b+b;
}
};
int main()
{
AA<int,double> a;//用模板AA创建对象a。
//AA<int,double>*a=new AA<int,double>;//用new来创建模板AA创建对象a。
a.m_a=20;a.m_b=30;
cout<<"a.geta()="<<a.geta()<<endl;
cout<<"a.getb()="<<a.getb()<<endl;
//在程序中,模板类的成员函数使用了才会创建。
}
输出:a=30,b=10
发表回复