首页 > 学院 > 开发设计 > 正文

template模板及模板类的实例化

2019-11-06 07:19:37
字体:
来源:转载
供稿:网友

模板template

通常,当我们调用一个函数时,编译器只需要掌握函数的声明。 类似的,当我们使用一个类类型的对象时,类定义必须是可用的,但成员函数的定义不必已经出现。 因此我们将类定义和函数声明放在头文件中,而普通函数和类的成员函数的定义放在源文件中。

模板则不同: 为了生成一个实例化版本,编译器需要掌握函数模板或类模板成员函数的定义。因此,与非模板代码不同,模板的头文件通常即包括声明也包括定义。

template<class T>LinkList<T>::LinkList() {...}template<class T>LinkList<T>::LinkList(T a[], int n) {...}//类模板实例化:int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };LinkList<int> linkList1; //无参构造LinkList<int> linkList2(a, 10); //有参构造

默认情况下,对于一个实例化了的类模板,其成员只有在使用时才被实例化。

在类模板外使用类模板名 LinkList<T>::LinkList(T a[], int n) {...}


上一篇:curl访问

下一篇:leetcode-Basic Calculator

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表