天津大学:《面向对象程序设计基础》课程电子教案(PPT课件)第八章 多态性

第八章 多态性
第八章 多 态 性

第八章多态性 §8.1多态性的基本概念 §8.2函数重载 §8.3搂贝构造函数 §8.4运算符重载 §8.5虚函数 §8.6纯虚函数与抽象类
第八章 多态性 §8.1 多态性的基本概念 §8.2 函数重载 §8.3 拷贝构造函数 §8.4 运算符重载 §8.5 虚函数 §8.6 纯虚函数与抽象类

§8.1多态性的基本概念 ◆在基类中定义的属性或操作被派生类继承之后,可以 具有不同的数据类型或表现出不同的行为,从而同 个属性或操作名称在各个派生类中具有不同的含义 anager Secretary Wife Assistant
§8.1 多态性的基本概念 在基类中定义的属性或操作被派生类继承之后,可以 具有不同的数据类型或表现出不同的行为,从而同一 个属性或操作名称在各个派生类中具有不同的含义 Manager Secretary Wife Assistant

§8.1多态性的基本概念 C++语言支持两种多态性 ◆编译时的多态性 通过重载实现(函数重载,运算符重载) 多人,运行时的多态性 通过虚函数实现(借助抽象类和动态绑定)
§8.1 多态性的基本概念 C++语言支持两种多态性 编译时的多态性 通过重载实现(函数重载,运算符重载) 运行时的多态性 通过虚函数实现(借助抽象类和动态绑定)

§8.1多态性的基本概念 ◆绑定 将一个函数调用链接上相应的函数体代码 的过程 ·静态绑定 在编译时就能够确定调用哪一个函数 ◆动态绑定 在运行时才能够确定调用哪一个函数
§8.1 多态性的基本概念 绑定 将一个函数调用链接上相应的函数体代码 的过程 静态绑定 在编译时就能够确定调用哪一个函数 动态绑定 在运行时才能够确定调用哪一个函数

§8.1多态性的基本概念 ◆本章重点 重载:函数重载,运算符重载静态绑定 虚函数:抽象类 动态绑定
§8.1 多态性的基本概念 本章重点 重载:函数重载,运算符重载 静态绑定 虚函数:抽象类 动态绑定

§8.2函数重载 ◆函数重载(函数名相同,函数参数不同) void print(char) void print(int, int) void print(float) void print(char ) ◆函数调用 print( Hello, overload! print(3, 5)
§8.2 函数重载 函数重载(函数名相同,函数参数不同) – void print(char); – void print(int, int); – void print(float); – void print(char *); –…… 函数调用 – print(“Hello,overload!”); – print(3, 5);

§8.2函数重载 ◆类构造函数的重载 class A public A(); a(int) A(char c); Aa(34)
§8.2 函数重载 类构造函数的重载 class A { public: A( ); A(int); A(char c); //…… }; A aa(34);

§8.2函数重载 函数重载的注意事项 (1)参数不同,是指参数的个数,参数的类型不同 (2)只有返回值类型不同,不是函数重载 (3)不要用重载函数描述毫不相干的函数 (4)在重载函数中使用缺省参数时应注意二义性问题
§8.2 函数重载 函数重载的注意事项 ⑴ 参数不同,是指参数的个数,参数的类型不同 ⑵ 只有返回值类型不同,不是函数重载 ⑶ 不要用重载函数描述毫不相干的函数 ⑷ 在重载函数中使用缺省参数时应注意二义性问题

§8.2函数重载 t] void print(int a, int b) void print(int a, int b, int c) 函数说明: void print(inta,intb,intc=50) 函数调用: print(10,100);/eror!系统不知调用哪个函数
§8.2 函数重载 例: void print(int a, int b) { …… } void print(int a, int b, int c) { …… } 函数说明:void print(int a, int b, int c=50); 函数调用:print(10, 100); //error! 系统不知调用哪个函数
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 天津大学:《面向对象程序设计基础》课程电子教案(PPT课件)第七章 继承机制.ppt
- 天津大学:《面向对象程序设计基础》课程电子教案(PPT课件)第六章 复合数据类型.ppt
- 天津大学:《面向对象程序设计基础》课程电子教案(PPT课件)第五章 类与对象.ppt
- 天津大学:《面向对象程序设计基础》课程电子教案(PPT课件)第四章 函数.ppt
- 天津大学:《面向对象程序设计基础》课程电子教案(PPT课件)第一章 程序设计与C++语言初步(主讲:高天真).ppt
- 天津大学:《面向对象程序设计基础》课程电子教案(PPT课件)第二章 基本数据类型.ppt
- 天津大学:《面向对象程序设计基础》课程电子教案(PPT课件)第三章 基本控制结构.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)HTML基础(姚屏).ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第六章 JavaScript语言概述.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第五章 表单、框架和多媒体.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第八章 asp介绍(姚屏).ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第四章 图片和表格.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第三章 超级链接和列表.ppt
- 《网页设计》课程教学资源(PPT课件讲稿)第二章 网页的基本结构和段落、文字标记.ppt
- 北京大学:《计算机图形学》第二讲 图形设备与系统.ppt
- 北京大学:《计算机图形学》第一讲 计算机图形学概述.ppt
- 北京大学:《计算机图形学》第十三讲 计算机动画.ppt
- 北京大学:《计算机图形学》第十二讲 真实感图形绘制.ppt
- 北京大学:《计算机图形学》第十一讲 面消隐.ppt
- 北京大学:《计算机图形学》第十讲 三维形体的表示.ppt
- 天津大学:《面向对象程序设计基础》课程电子教案(PPT课件)第八章 多态性.ppt
- 东南大学远程教育:《网络金融》课程教学资源(PPT课件讲稿)第九章 网络金融危机.ppt
- 东南大学远程教育:《网络金融》课程教学资源(PPT课件讲稿)第二章 网络货币.ppt
- 东南大学远程教育:《网络金融》课程教学资源(PPT课件讲稿)第八章 网络金融与国际资本流动.ppt
- 东南大学远程教育:《网络金融》课程教学资源(PPT课件讲稿)第六章 网络保险.ppt
- 东南大学远程教育:《网络金融》课程教学资源(PPT课件讲稿)第七章 网络金融投资.ppt
- 东南大学远程教育:《网络金融》课程教学资源(PPT课件讲稿)第三章 网络银行.ppt
- 东南大学远程教育:《网络金融》课程教学资源(PPT课件讲稿)第十章 网络金融的国际化发展.ppt
- 东南大学远程教育:《网络金融》课程教学资源(PPT课件讲稿)第四章 网络证券.ppt
- 东南大学远程教育:《网络金融》课程教学资源(PPT课件讲稿)第五章 网络期货.ppt
- 东南大学远程教育:《网络金融》课程教学资源(PPT课件讲稿)第一章 网络金融概述(曹卉宇).ppt
- 北京航空航天大学:数字图像处理技术的应用.ppt
- 《数据库系统基础》PPT讲义课件(共九章).ppt
- 《数据库应用与开发》PPT讲义课件.ppt
- 21世纪通信教材:《接入网技术》课程教学资源(PPT课件)第一章 接入网概述.ppt
- 21世纪通信教材:《接入网技术》课程教学资源(PPT课件)第二章 铜线接入技术.ppt
- 21世纪通信教材:《接入网技术》课程教学资源(PPT课件)第三章 电缆调制解调器接入技术.ppt
- 21世纪通信教材:《接入网技术》课程教学资源(PPT课件)第四章 光纤接入技术.ppt
- 21世纪通信教材:《接入网技术》课程教学资源(PPT课件)第五章 无线接入技术.ppt
- 21世纪通信教材:《接入网技术》课程教学资源(PPT课件)第六章 接入网接口及其协议.ppt