1 类模板作用
- 通过建立一个通用类,类中的成员 数据类型可以不具体指定,用一个虚拟的类型来代表
#include<iostream>
using namespace std;
template<class Nametype,class agetype>
class Person
{
public:
Person(Nametype name, agetype age)
{
this->mname = name;
this->mage = age;
}
public:
void showperson()
{
cout << mname << " " << mage;
}
Nametype mname;
agetype mage;
};
void test01()
{
Person<string, int>p1("黄刚", 21);
p1.showperson();
}
int main()
{
test01();
return 0;
}
2 类模板与函数模板的区别
三级标题 类模板与函数模板区别主要有两点
- 类模板没有自动类型推导的使用方式
- 类模板在模板参数列表中可以有默认参数
#include<iostream>
using namespace std;
template<class Nametype,class agetype = int>
class Person
{
public:
Person(Nametype name, agetype age)
{
this->mname = name;
this->mage = age;
}
public:
void showperson()
{
cout << mname << " " << mage<<endl;;
}
Nametype mname;
agetype mage;
};
void test01()
{
Person <string, int>p("孙悟空", 100);
p.showperson();
}
void test02()
{
Person <string>p1("孙悟空", 10000);
p1.showperson();
}
int main()
{
test01();
test02();
return 0;
}
总结
- 类模板使用只能用显示指定类型方式
- 类模板中的模板参数列表可以有默认参数