学习目标:能够掌握类模版中的成员函数类外实现
//类模版成员函数类外实现
template<class T1,class T2>
class Person
{
public:
Person(T1 name, T2 age);
void showPerson();
T1 m_Name;
T2 m_Age;
};
//构造函数类外实现
template<class T1,class T2>
Person<T1, T2>::Person(T1 name, T2 age)//作用域+<>
//加<T1, T2>,告诉编译器这是函数模版的内外实现
{
this->m_Name = name;
this->m_Age = age;
}
template<class T1, class T2>
void Person<T1, T2>::showPerson()
{
cout << "姓名: " << this->m_Name << "年龄: " << this->m_Age << endl;
}
void test01()
{
Person<string, int>P("Tom", 20);
P.showPerson();
}
总结:类模版中成员函数类外实现时,需要加上模版参数列表