类模板与函数模板的区别

类模板与函数模板区别主要有两点:
1.类模板没有自动类型推导的使用方式
2.类模板在模板参数列表中可以有默认参数
示例:

#include <iostream>
using namespace std;
#include <string>
//类模板与函数模板的区别
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;
}
NameType m_Name;
AgeType m_Age;
};
//1.类模板没有自动类型推导使用方式
void test01()
{
//Person p("孙悟空",1000);//error 无法用自动类型推导
Person<string> p("孙悟空",1000);
p.showPerson();
}
//2.类模板在模板参数列表中可以有默认参数
void test02()
{
Person<string,int> p("猪八戒",999);
p.showPerson();
}
int main()
{
test02();
return 0;
}

总结:
类模板使用只能用显示指定类型方式
类模板中的模板参数列表可以有默认参数

posted @   Ricky001  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示