标签:功能 等等 get 加法 函数模板 分享图片 不同类 blank 结果
在上章25.C++- 泛型编程之函数模板(详解) 学习了后,本章继续来学习类模板
类模板介绍
和函数模板一样,将泛型思想应用于类.
编译器对类模板处理方式和函数模板相同,都是进行2次编译
类模板通常应用于数据结构方面,使得类的实现不在关注数据元素的具体类型,而只关注需要实现的功能
比如: 数组类,链表类,Queue类,Stack类等
<span "="" src="https://images2018.cnblogs.com/blog/1182576/201804/1182576-20180410171149793-933054546.png" width="265" height="157">
类模板的使用
如下图所示:
初探类模板
写一个类模板,实现不同类型的加减乘除
运行打印:
类模板的工程应用
接下来,我们便修改上面代码定义的Operator类模板,只需要写Operator.h文件即可:
多参数类模板
类模板可以定义任意多个不同的类型参数,同时还要必须指定每个模板参数
例如:
运行打印:
从结果来看,上面的类模板好像已经实现了add加法运算.但是却不能支持指针类型.
其实,类模板也可以像函数重载一样, 类模板通过特化的方式可以实现特殊情况.
比如:
初探类模板特化
运行打印:
<span "="" src="https://images2018.cnblogs.com/blog/1182576/201804/1182576-20180410171230370-1961516438.png" width="333" height="259">
比如: 变量在运行期间是可变的,所以不能作为模板参数.以及浮点数(不精确),类对象(可变)等等.
接下来,我们便通过数值参数的类模板来求 1+2+3+...+N的值
代码如下所示:
运行打印:
文章来源:https://www.cnblogs.com/lifexy/p/8781525.html
标签:功能 等等 get 加法 函数模板 分享图片 不同类 blank 结果
原文地址:https://www.cnblogs.com/xiongjim/p/9674160.html