注意:类模板作为函数参数要加模板类型
类模板在类外实现函数时,需要加template
类模板派生:
必须指明模板类型
#include <iostream>
using namespace std;
template <class T1,class T2>
class Person
{
public:
private:
T1 name;
T2 age;
public:
Person(T1 name,T2 age)
{
this->name = name;
this->age = age;
}
void showPerson()
{
cout<<"姓名:"<<name<<"年龄:"<<age<<endl;
}
};
int main()
{
//类模板不允许自动类型推导
//函数模板允许类型推导
//类模板 必须显示指明T1,T2的类型
Person<string ,int> lucy("德玛西亚",18);
lucy.showPerson();
Person<int, int> bob(100,200);
bob.showPerson();
cout << "Hello World!" << endl;
return 0;
}