一、类模板与模板类
类模板:一个模板(是模板)
模板类:调用类模板生成的类对象(是类实体),也称为类模板的实例化
类模板的定义:
与函数模板的定义是一样的
template <typename T> class Blob { public: Blob(); Blob(std::initializer_list<T> i); };
模板类的使用:
在定义类时,使用到类名的地方都需要显示的给出模板类的类型,格式为<>
int main() { Blob<int> ia; Blob<int> ia2 = { 1,2,3 }; Blob<double>* ia4 = new Blob<double>{ 1.1,3.14 }; Blob<string> ia3 = { "Hello","World" }; return 0; }
二、模板类的成员函数
如果模板类的成员函数在类内声明,而在类外定义,需要遵循以下规则:在函数前也在加上模板列表,且类名限定符后面给出<>