- 3
- 0
- 约6.81千字
- 约 17页
- 2023-07-31 发布于北京
- 举报
第六章 多态与虛函数
一、多态的基本概念
?多态分为编译时多态和运行时多态。
?编译时多态主要是指函数的重载(包括运算符的重载)。对重载函数的调用,在编译时就可以根据实参确定应该调用哪个函数,因此称为编译时多态。编译阶段的多态称为静态多态;
?运行时多态则和继承、虚函数等概念有关。本章中提及的多态主要是指运行时多态。运行阶段的多态称为动态多态。
多态
程序编译阶段都早于程序运行阶段,所以静态绑定称为早绑定,动态绑定称为晚绑定。静态多态和动态多态的区别,只在于在什么时候将函数实现和函数调用关联起来,是在编译阶段还是在运行阶段,即函数地址是早绑定的还是晚绑定的。
?在类之间满足赋值兼容的前提下,实现动态绑定必须满足以下两个条件:
?? ??? ??? ?1)必须声明虚函数。
?? ??? ??? ?2)通过基类类型的引用或者指针调用虚函数。
虚函数
所谓“虚函数”,就是在函数声明时前面加了virtual关键字的成员函数。virtual关键字只在类定义中的成员函数声明处使用,不能在类外部写成员函数体时使用。静态成员函数不能是虚函数。包含虚函数的类称为“多态类”。
?? ??? ??? ?声明虚函数成员的一般格式如下:
?? ??? ?? ??virtual 函数返回值类型 函数名(形参表);
在类的定义中使用virtual关键字来限定的成员函数即成为虚函数。再次强调一下,虚函数的声明只能
您可能关注的文档
- 《C++程序设计》学习笔记总结 - 第八章 文件操作.docx
- 《C++程序设计》学习笔记总结 - 第二章 面向对象的基本概念.docx
- 《C++程序设计》学习笔记总结 - 第九章 函数模板与类模板.docx
- 《C++程序设计》学习笔记总结 - 第七章 输入输出流.docx
- 《C++程序设计》学习笔记总结 - 第三章 类和对象进阶.docx
- 《C++程序设计》学习笔记总结 - 第四章 运算符重载.docx
- 《C++程序设计》学习笔记总结 - 第五章 类的继承与派生.docx
- 《C++程序设计》学习笔记总结 - 第一章 C++语言简介.docx
- 《计机算网络原理》学习笔记总结 - 第八章 网络安全基础.docx
- 《计机算网络原理》学习笔记总结 - 第二章 网络应用.docx
- Adobe-Premiere-Pro视频剪辑软件从入门到精通全教程.docx
- 审计专业技术资格考试审计理论与实务复习题集精讲.docx
- 智慧城市系统集成合同协议(2025年年度).docx
- 学校高质量发展,校长论坛发言:育好教育生态,走好高质量发展路.docx
- 高校党团班协同运行机制与班集体凝聚力建设路径.docx
- 前端开发HTML5CSS3JavaScript从入门到项目实战全攻略.docx
- 网络小说写作技巧大纲设定与签约出版全流程指导.docx
- 高校校园贷风险防范与大学生理性消费观培育引导.docx
- 在XX市生态环境保护重点任务攻坚推进会议上的讲话.docx
- 废旧玻璃回收厂的污染分析.docx
原创力文档

文档评论(0)