1、类模板没有自动类型推导
2、只有类模板在模板参数列表中可以有默认参数
#include<iostream>
using namespace std;
//1、类模板没有自动类型推导
//2、只有类模板在模板参数列表中可以有默认参数
//template<class NameType,class AgeType>
template<class NameType,class AgeType = int>//默认整形类型
class Person
{
public:
Person(NameType name,AgeType age)
{
this->m_name=name;
this->m_age=age;
}
void showPerson()
{
cout<<"name: "<<this->m_name<<" age: "<<this->m_age<<endl;
}
AgeType m_age;
NameType m_name;
};
void test01()
{
Person<string,int> p1("Tom",99);//只能用显示指定类型
p1.showPerson();
}
void test02()
{
Person<string> p2("Mark",19);//即使显式指定类型没有指定第二个参数的类型,但是由于在声明函数模板时已经默认了第二个参数时int型
p2.showPerson();
}
int main()
{
test01();
test02();
return 0;
}