类模板使用总结
归纳以上的介绍,可以这样声明和使用类模板:
-
先写出一个实际的类。
-
将此类中准备改变的类型名(如int要改变为float或char)改用一个自己指定的虚拟类型名(如上例中的T)。
-
在类声明前面加入一行,格式为:
template <typename 虚拟类型参数>
如:
template <typename numtype>
class A
{…}; //类体
- 用类模板定义对象时用以下形式:
类模板名<实际类型名> 对象名;
或 类模板名<实际类型名> 对象名(实参表列);
如:
A<int> cmp;
A<int> cmp(3,7);
- 如果在类模板外定义成员函数,应写成类模板形式:
template <typename 虚拟类型参数>
函数类型 类模板名<虚拟类型参数>::成员函数名(函数形参表列) {…}
关于类模板的几点补充: - 类模板的类型参数可以有一个或多个,每个类型前面都必须加typename 或class,如:
template <typename T1,typename T2>
class someclass
{…};
在定义对象时分别代入实际的类型名,如:
someclass<int, char> object;
2) 和使用类一样,使用类模板时要注意其作用域,只有在它的有效作用域内用使用它定义对象。
3) 模板类也可以有支持继承,有层次关系,一个类模板可以作为基类,派生出派生模板类。
结语:
做不到, B再多也是白搭!!!
练习 | 坚持 | 练习 | 耐得住寂寞 | 练习 | 思考 |目标 | 练习 | 超越自己
时间: 2020-09-27