1. 基本概念
是对一批仅仅成员数据类型不同的类的抽象,程序员只要为这一批类所组成的整个类家族创建一个类模板,给出一套程序代码,就可以用来生成多种具体的类。
总结以下两点:
1)类模板用于实现类所需数据的类型参数化。
2)类模板在表示如数组、表、图等数据结构显得特别重要,这些数据结构的表示和算法不受所包含的元素类型的影响。
类模板基本语法举例:
// 参数化一个类型T,允许参数化多个类型
template<typename T>
class A
{
public:
A(T t) { this->t = t; }
T &getT() { return t; }
public:
T t;
};
// 子类从模板类继承的时候,需要让编译器知道父类的数据类型具体是什么
class B : public A<int>
{
public:
B(int i) : A<int>(i) {}
void printB() { cout << "A:" << t << endl; }
};
int main()
{
A<int> a(100); // 需要提供类型参数
int x = a.getT();
B b(10);
b.printB();
return 0;
}
原文:https://www.cnblogs.com/yanghh/p/12945885.html