#include <iostream>
#include <string>
//注意头文件:string 和 string.h 的区别;
using namespace std;
//类模板类外实现成员函数:
template <class T1,class T2>
//类内实现:
class Person
{
public:
Person(T1 name,T2 age)
{
this->m_Age = age;
this->m_Name = name;
}
void showPerson()
{
cout << "姓名:" << this->m_Name << " 年龄:" << this->m_Age << endl;
}
T1 m_Name;
T2 m_Age;
};
template <class T1, class T2>
//类外实现:
class Person2
{
public:
Person2(T1 name, T2 age);
void showPerson2();
T1 m_Name;
T2 m_Age;
};
//类外实现成员函数:
template<class T1,class T2>
Person2<T1, T2>::Person2(T1 name, T2 age)
{
this->m_Age = age;
this->m_Name = name;
}
template<class T1, class T2>
void Person2<T1, T2>::showPerson2()
{
cout << "姓名:" << this->m_Name << " 年龄:" << this->m_Age << endl;
}
void test01()
{
Person2<string, int>p1("asdasd", 20);
p1.showPerson2();
}
int main()
{
test01();
return 0;
}
成员函数的类外实现