| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 自考2019版《C++程序设计》04747,第九章 函数模版与类模板(附课后习题答案) -> 正文阅读 |
|
[C++知识库]自考2019版《C++程序设计》04747,第九章 函数模版与类模板(附课后习题答案) |
考试题型:主要在选择题、填空题,比分占3%左右。 第一节 函数模版1、有时重载的两个函数逻辑功能基本一样,只是参数类型不同,几乎相同的代码要重复编写。 利用模版来减少重复编码工作。 模版是实现代码复用的一种工具,是参数多态的一种体现。 模版实现类型参数化,把类型定义为参数,实现代码的复用。 例如,编写3个函数分别求3个整形、3个字符型、3个浮点型数的最大值。 功能是相同的,只是类型不同。 2、由于函数在设计时没有使用实际的类型,而是使用虚拟的类型参数,故其灵活性得到加强,当用实际的类型来实例化这种函数时,就好像按照模板来制造新的函数一样,所以称这种函数为函数模版。 将函数模版与某个具体数据类型连用,就产生了模版函数,又称这个过程为函数模版实例化,这种形式就是类型参数化。 3、函数模板的声明和使用 函数模板将很多个不同数据类型、相同逻辑功能的函数抽象成一个统一的函数。 template<class T>或<typename T> 返回类型函数名(参数表) { ??? 函数体 } (1)template是定义函数模版的关键字,总是放在模板定义和声明的最前面 (2)<class T>或<typename T>必须用尖括号“<>”括起来,其中,T为类型参数,T实际上是一个虚拟的类型名。当使用函数模板时,T就会被替换为某种实际的数据类型(例如,int、char、float等) (3)后面函数的定义方式与之前提到的普通函数的定义方式类似 第二节 类模版1、类模板的定义和使用 类模板的作用:用户可以定义一种模式,使得类中的某些成员变量、成员函数的参数、返回值等都能取任意类型。 例如,声明两个类,分别用来比较整数和浮点数的大小。 2、类模版的一般定义格式如下: template <class T> class 类名 { }; (1)template是定义模板的关键字,宗师放在模板定义和声明的最前面 (2)class T>必须用尖括号“<>”括起来,T为类型参数,被替换为某种实际的数据类型(例如,int、char、float等)从而实现一类多用 (3)类的定义方式与之前讲到的类的定义方式类似 (4)类模板是对一组类的抽象,某一个类是对类模板的实例化 3、类模板格式: 类模板名<实际类型名>? 对象名(参数表); 例:编写一个类模板,比较两个整数、浮点数和字符数据的大小
4、类模型注意: (1)声明类模板时,要在类的前面加一行语句:template<class T> (2)用类模板定义对象时用以下格式:Compare<int> cmpi;或Compare<int> cmpi(4,9); (3)如果在类模板外定义成员函数,应写成类模板形式: template<class 虚拟类型参数> 函数类型类模板名<虚拟类型参数>: :成员函数名(函数形参) 课后习题答案:一、选择题 1-5、DCBAB? 6-7、BC? 二、填空题 (1)
三、程序填空题 1、
2、
3、
四、程序分析题 1、
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 1:35:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |