北大青鸟:《C++》PPT教学课件 第十章 模板

北大青鸟 c 第十章 模板 Ⅴ ersion3.0 CHA
Version 3.0 模板 第十章

回顾 虚函数 纯虚函数 抽象类 动态绑定 虚析构函数 北大青鸟
2 回顾 • 虚函数 • 纯虚函数 • 抽象类 • 动态绑定 • 虚析构函数

目标 函数模板 类模板 ·标准模板库(STL) 北大青鸟
3 目标 • 函数模板 • 类模板 • 标准模板库(STL)

模板的概念 C+中的模板提供了重用源代码的方法 ·两种类型的模板 类模板 函数模板 北大青鸟
4 模板的概念 • C++中的模板提供了重用源代码的方法 • 两种类型的模板 – 类模板 – 函数模板

如果没有函数模板 通过函数重载实现不用类型的操作 nt max(int a int b) return a>b? a: bi float max(float a, float b) return a>b? a: bi 北大青鸟
5 如果没有函数模板… • 通过函数重载实现不用类型的操作 int max(int a, int b) { return a > b ? a : b; } float max(float a, float b) { return a > b ? a : b; } ……

函数模板4-1 对各种数据类型,执行完全相同的操作 ·根据函数调用中提供的参数,编译器自动 实例化不同的对象代码函数 6 北大青鸟
6 函数模板 4-1 • 对各种数据类型,执行完全相同的操作 • 根据函数调用中提供的参数,编译器自动 实例化不同的对象代码函数

函数模板4-2 #include 返回两个元素 template 的最大值 Tmax四Ta,Tb) return a>b? a: b; void main o cout<<"max(20,30)="<<max(20,30)<end1; cout < " max('t' iv)=" << max('t ivi)<< endli cout<<"max(10.1,15.2)="<<max(10.1,15.2)<<end1 北大青鸟
7 函数模板 4-2 #include template T max(T a, T b) { return a > b ? a : b; } void main() { cout << "max(20, 30) = " << max(20, 30) << endl; cout << "max('t', 'v') = " << max('t', 'v') << endl; cout << "max(10.1, 15.2) = " << max(10.1, 15.2) << endl; } 返回两个元素 的最大值

函数模板43 编译器自动生成 int max ( int ar int b) return a>b? a b: float max(float a, float b) return a>b? a: bi char max(char a, char b) return a>b? a: b 北大青鸟
8 函数模板 4-3 • 编译器自动生成 int max(int a, int b) { return a > b ? a : b; } float max(float a, float b) { return a > b ? a : b; } char max(char a, char b) { return a > b ? a : b; }

函数模板44 演示函数模板的使用 北大青鸟
9 函数模板 4-4 演示函数模板的使用

类模板4-1 提供了对类中的类型进行参数化的方法 ·从类模板产生类的过程称为模板的实例化 定义模板类的对象 classname objectname(arglist)i 北大青鸟
10 类模板 4-1 • 提供了对类中的类型进行参数化的方法 • 从类模板产生类的过程称为模板的实例化 定义模板类的对象 classname objectname(arglist);
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北大青鸟:《C++》PPT教学课件 第九章 多态.ppt
- 北大青鸟:《C++》PPT教学课件 第八章 继承.ppt
- 北大青鸟:《C++》PPT教学课件 第七章 友员.ppt
- 北大青鸟:《C++》PPT教学课件 第六章 文件操作和异常.ppt
- 北大青鸟:《C++》PPT教学课件 第五章 流.ppt
- 北大青鸟:《C++》PPT教学课件 第四章 特殊的函数.ppt
- 北大青鸟:《C++》PPT教学课件 第三章 数据抽象.ppt
- 北大青鸟:《C++》PPT教学课件 第二章 高级函数特性.ppt
- 《C语言程序设计》课程教学资源:PPT教学课件 总复习.ppt
- 长沙理工大学:《通信原理》课程教学资源(PPT课件)第七章 模拟信号的数字传输(3/3).ppt
- 长沙理工大学:《通信原理》课程教学资源(PPT课件)第七章 模拟信号的数字传输(2/3).ppt
- 长沙理工大学:《通信原理》课程教学资源(PPT课件)第七章 模拟信号的数字传输(1/3).ppt
- 长沙理工大学:《通信原理》课程教学资源(PPT课件)第五章 数字基带传输系统.ppt
- 长沙理工大学:《通信原理》课程教学资源(PPT课件)第四章 模拟调制系统(4.3)AM调制系统性能.ppt
- 长沙理工大学:《通信原理》课程教学资源(PPT课件)第四章 模拟调制系统(4.2)线性调制系统的抗噪声性能.ppt
- 长沙理工大学:《通信原理》课程教学资源(PPT课件)第四章 模拟调制系统(4.1)引言.ppt
- 长沙理工大学:《通信原理》课程教学资源(PPT课件)第三章 信道.ppt
- 长沙理工大学:《通信原理》课程教学资源(PPT课件)第二章 随机信号分析.ppt
- 长沙理工大学:《通信原理》课程教学资源(PPT课件)第一章 绪论(主讲:单树民).ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第九章 数据库安全性.ppt
- 北大青鸟:《C++》PPT教学课件 第一章 C++概述.ppt
- 重庆三峡职业学院:《商品网络防伪查询系统》讲义(毕业论文).doc
- 北京大学出版社:《C语言》PPT教学课件 第一章 C语言概述.ppt
- 北京大学出版社:《C语言》PPT教学课件 第二章 程序的灵魂一算法.ppt
- 北京大学出版社:《C语言》PPT教学课件 第三章 数据类型、运算符与表达式.ppt
- 北京大学出版社:《C语言》PPT教学课件 第四章 最简单的c程序设计.ppt
- 北京大学出版社:《C语言》PPT教学课件 第五章 选择结构程序设计.ppt
- 北京大学出版社:《C语言》PPT教学课件 第六章 循环控制.ppt
- 北京大学出版社:《C语言》PPT教学课件 第七章 数组.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第2章 数据库服务器的安装与卸载.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第3章 创建数据库.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第4章 Oracle企业管理器.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第5章 SQLPLUS.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第6章 物理存储结构.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第7章 逻辑存储结构.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第8章 数据库实例与操作模式.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第9章 数据库的启动与关闭.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第10章 模式对象.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第11章 安全管理.ppt
- 《Oracle数据库基础教程》教学资源(PPT课件讲稿)第12章 数据库备份与恢复.ppt