# include<iostream>
# include<string>
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;
};
//1、指定传入的类型 --直接显示传入的数据类型
void printPerson1(Person<string, int>&p)
{
p.showPerson();
}
void test01()
{
Person<string,int>p("孙悟空",999);
printPerson1(p);
}
//2、参数模板化
template<class T1,class T2>
void printPerson2(Person<T1, T2>& p)
{
p.showPerson();
cout << "T1的类型 " << typeid(T1).name() << endl;
cout << "T2的类型 " <&