类模板与函数模板的定义和使用类似,有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,我们可以通过如下面语句声明了一个类模板:
#include#include using namespace std; template class Demo { public: Demo(T a) { this->a = a; } //构造函数的参数使用类模板 T getA()const { return a; } //函数返回值使用类模板 private: T a; //成员变量使用类模板 }; //使用类作为函数形参时, 必须显示指定类型 void printDemo(const Demo demo) { cout << demo.getA() << endl; } int main(void) { //类模板定义必须显示指定类型!!! Demo demo(666); printDemo(demo); system("pause"); return 0; }
类模板用于实现类所需数据的类型参数化类模板在表示支持多种数据结构显得特别重要,这些数据结构的表示和算法不受所包含的元素类型的影响 2.类模板定义
类模板由模板说明和类说明构成模板说明同函数模板,如下:
template <类型形式参数表>
类声明
例如:
templateclass ClassName { //ClassName 的成员函数 private : Type DataMember; }



