类模板与函数模板的定义和使用类似,我们已经进行了介绍。有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:
- 类模板用于实现类所需数据的类型参数化
- 类模板在表示如数组、表、图等数据结构显得特别重要,
这些数据结构的表示和算法不受所包含的元素类型的影响。
具体的用法如下所示:
#include <iostream>
using namespace std;
//A编程模板 类
//模板类 类型参数化
//类模板的定义
//类模板的使用
//类模板 做函数参数
//模板类
template <class T>
class A
{
public:
A(T a)
{
this->a = a;
}
public:
void printA()
{
cout << "a: " << a << endl;
}
protected:
T a;
};
//类模板 做函数参数
//参数 ,C++编译器 要求具体的类 所以所 要 A<int> &a
void UseA(A<int>& a)
{
a.printA();
}
void main()
{
//模板类(本身就是类型化的)====具体的类=====>定义具体的变量
A<int> a1(11), a2(20), a3(30); //模板类是抽象的 ====>需要进行 类型具体
//a1.printA();
UseA(a1);
UseA(a2);
UseA(a3);
cout << "hello..." << endl;
system("pause");
return;
}