# include<iostream>
# include<string>

using namespace std;

//1、类模板没有自动类型推导的使用方式
//2、类模板在模板参数列表中可以有默认参数

template<class NameType,class AgeType>
class Person
{
public:
	Person(NameType name, AgeType age)
	{
		this->m_Name = name;
		this->m_Age = age;
	}
	void showPerson()
	{
		cout << "m_Name:" << this->m_Name << "m_Age:" << this->m_Age << endl;
	}
	NameType m_Name;
	AgeType m_Age;

};

//1、类模板没有自动类型推导方式
void test01()
{
	Person<string,int>p("孙悟空", 999); //正确。只能显示指定类型
	p.showPerson();
}
//2、类模板在模板参数列表中可以有默认参数
void test02()
{
	Person<string, int>p("猪八戒", 999);
	p.showPerson();
	

}



int main()
{
	test01();
	test02();
	system("pause");
	return 0;
}