#include <iostream>
using namespace std;
//类模板类外实现
template<class T1,class T2>
class Person{
public:
//类模板构造函数类内实现
Person(T1 name,T2 age);
/*
{
this->m_Name = name;
this->m_Age = age;
}
*/
//类模板成员函数类内实现
void showPerson();
/*
{
cout << "姓名:" << this->m_Name << endl;
cout << "年龄:" << this->m_Age << endl;
}
*/
T1 m_Name; //姓名
T2 m_Age; //年龄
};
//类模板构造函数类外实现
template<class T1,class T2>
//Person::Person(T1 name,T2 age) //这样写,就是一个普通类的构造函数类外实现
Person<T1,T2>::Person(T1 name,T2 age) //这样写,就是一个类模板的构造函数类外实现
{
this->m_Name = name;
this->m_Age = age;
}
template<class T1,class T2>
void Person<T1,T2>::showPerson()
{
cout << "姓名:" << this->m_Name << endl;
cout << "年龄:" << this->m_Age << endl;
}
int main(int argc,char *argv[])
{
Person<string,int> p("Tom",18);
p.showPerson();
return 0;
}