C++中的类模板是一种通用的类定义,它可以用于创建可以适应不同类型的对象。类模板是一种参数化的类,它可以根据不同的模板参数创建多个具体的类。
类模板的定义包含一个或多个模板参数,这些参数可以用于指定类中的类型、常量或其他模板参数。在使用类模板时,我们需要提供实际的模板参数,这些参数将用于实例化具体的类。
类模板语法
template<typename T>
类
-
template --- 声明创建模板
-
typename --- 表面后面的符号其实是一种数据类型,可以用class代替
-
T 通用数据类型,名称可以替换,一般都用T
template<class NameType,class AgeType>
class Person{
public:
Person(NameType name,AgeType age){
this->name = name;
this->age = age;
}
void showPerson(){
cout << "name:" << this.name << "age:" << this.age << endl;
}
NameType name;
AgeType age;
}
void test(){
Person<string,int> p1("tang",20);
p1.showPerson();
}
类模板和函数模板区别
-
类模板没有自动类型推导使用方式
-
类模板在模板参数列表中可以有默认参数,而函数模板不行
<