第5章C++面向对象程序设计课件.ppt

第5章C++面向对象程序设计课件.ppt

ID:58699817

大小:150.00 KB

页数:52页

时间:2020-10-04

第5章C++面向对象程序设计课件.ppt_第1页
第5章C++面向对象程序设计课件.ppt_第2页
第5章C++面向对象程序设计课件.ppt_第3页
第5章C++面向对象程序设计课件.ppt_第4页
第5章C++面向对象程序设计课件.ppt_第5页
资源描述:

《第5章C++面向对象程序设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章多态性1《面向对象技术与VisualC++》--第5章本章主要内容多态性的概念和多态类型联编虚函数抽象类运算符重载2《面向对象技术与VisualC++》--第5章5.1多态性的概念多态性是面向对象程序设计的重要特征之一。多态性是指发出同样的消息被不同类型的对象接收时导致完全不同的行为。多态的实现:函数重载运算符重载虚函数3《面向对象技术与VisualC++》--第5章5.2联编多态性的实现过程中,确定调用哪个同名函数的过程就是联编(binding),又称绑定。联编是指计算机程序自身彼此关联的过程,也就是把一个函数名和一个函数体联系在

2、一起的过程。按照联编进行的阶段的不同,可以分为静态联编和动态联编,这两种联编过程分别对应着多态性的两种实现方式。4《面向对象技术与VisualC++》--第5章5.2.1静态联编在编译阶段完成的联编称为静态联编。在编译过程中,编译系统可以根据类型匹配等特征来确定程序中调用操作与执行某个同名函数实现之间的关系,即确定某一个同名函数到底是要调用哪一段函数实现代码。函数重载和运算符重载就是通过静态联编方式实现的编译时的多态的体现。静态联编的优点是函数调用速度快、效率较高,缺点是编程不够灵活5《面向对象技术与VisualC++》--第5章例5-1

3、示例静态联编。//example51.cpp#includeclassStudent{public:voidprint(){cout<<"Astudent"<

4、t::print();ps=&s1;ps->print();ps=&s2;ps->print();//希望调用对象s2的输出函数,但调用的却是对象s1的输出函数}运行结果:AstudentAgraduatestudentAstudentAstudentAstudent7《面向对象技术与VisualC++》--第5章5.2.2动态联编只有在运行程序时才能确定将要调用的函数。这种在运行阶段进行的联编称为动态联编。动态联编的优点是提供了更好的编程灵活性、问题抽象性和程序易维护性,缺点是与静态联编相比,函数调用速度慢。8《面向对象技术与Visua

5、lC++》--第5章5.3虚函数虚函数是动态联编的基础。是非静态的成员函数。在类的声明中,在函数原型之前写virtual。virtual只用来说明类声明中的原型,不能用在函数实现时。具有继承性,基类中声明了虚函数,派生类中无论是否说明,同原型函数都自动为虚函数。本质:不是重载声明而是覆盖。调用方式:通过基类指针或引用,执行时会 根据指针指向的对象的类,决定调用哪个函数。9《面向对象技术与VisualC++》--第5章5.3.1虚函数的声明虚函数是一个在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。声明虚函数的格式

6、如下:virtual<返回值类型><函数名>(<参数表>);10《面向对象技术与VisualC++》--第5章例5-2示例动态联编(采用对象指针调用虚函数)。//example52.cpp#includeclassStudent{public:virtualvoidprint()    //定义虚函数{cout<<"Astudent"<

7、graduatestudent"<print();ps=&s2;ps->print();//对象指针调用虚函数,采用动态联编方式}运行结果:AstudentAgraduatestudentAstudentAstudentAgraduatestudent12《面向对象技术与VisualC++》--第

8、5章例5-3示例动态联编(采用对象引用调用虚函数)。//example53.cpp#includeclassStudent{public:virtualvoidprin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。