#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 << " " << this->m_age << endl;
// }
T1 m_name;
T2 m_age;
};
//构造函数的类外实现
template <class T1, class T2>
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 << " " << this->m_age << endl;
}
void test01 ()
{
Person <string, int> p ("tom", 20);
p.showPerson();
}
int main ()
{
test01();
return 0;
}
总结:
类模板中成员函数类外实现时,需要加上模板参数列表。