1. 类模版
C++ 提供了类模板。与函数模板相同,类模板本质也是数据类型的替换,在定义类对象时指定数据类型可以控制类中的数据类型等。
类模板定义方式如下:
template <typename T>
class ClassName
{
...
}
类模板也会进行二次编译。第一次为类模板本身的编译,第二次为数据类型替换后的类编译,每定义一个类模板对象,都会产生一个新的指定数据类型的类副本。
类模板主要用于存储和组织数据元素,类中数据组织的方式和数据元素的具体类型无关,如:数组类、链表类、Stack 类等。C++ 中将模板的思想应用于类,使得类的实现不关注数据元素的具体类型,而只关注类所需要实现的功能。
- 实验:
template <typename T>
class Test
{
public:
T mVar;
Test(T num) : mVar(num)
{
cout << "mVar = " << mVar << endl;
}
};
int