所谓类模板,实际上是建立一个通用类,其数据成员、成员函数的返回值类型和形参类型不具体指定,用一个虚拟的类型来代表。使用类模板定义对象时,系统会实参的类型来取代类模板中虚拟类型从而实现了不同类的功能。
类模板定义对象时,可以采用:
类模板名<实际类型名>对象名[(实参表列)];
#include <iostream>
using namespace std;
template<class T>
class Person{
public:
T mId;
T mAge;
Person(T id,T age)
{
this->mId=id;
this->mAge=age;
}
void show()
{
cout<<"ID:"<<mId<<"Age:"<< mAge<<endl;
}
};
void test01()
{
//函数模板在调用的时候,可以自动类型推导
//类模板必须显示制定类型
Person<int> p(10,20);
p.show();
}
int main(int argc, char** argv) {
test01();
return 0;
}