第7章 多态性与虚函数.ppt

第7章 多态性与虚函数.ppt

ID:48796059

大小:300.50 KB

页数:12页

时间:2020-01-25

第7章 多态性与虚函数.ppt_第1页
第7章 多态性与虚函数.ppt_第2页
第7章 多态性与虚函数.ppt_第3页
第7章 多态性与虚函数.ppt_第4页
第7章 多态性与虚函数.ppt_第5页
资源描述:

《第7章 多态性与虚函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二部分C++面向对象程序设计第七章多态性与虚函数7.1多态性1.多态性在C++中多态表现为同一形式的函数调用,可能调用不同的函数实现。2.多态性的类型✿静态(编译时的)多态性:在对程序进行编译时,系统就可以确定调用的是哪个函数。✿动态(运行时的)多态性:在程序运行时,系统才可以确定调用的是哪个函数。7.2运算符重载1.运算符重载使C++的标准运算符按定义好的方式操作类的对象。2.运算符重载的规则7.2运算符重载3.运算符重载的原理C++将作用于类对象的各种运算符都处理成一个函数的调用,把被调用的函数称为运算符函数。运算符函数可以是类的成

2、员函数或友元函数。4.运算符函数为类的成员函数一般格式:类型名operator运算符(参数表){…}重载二元运算符时,参数表中应有一个形参。重载一元运算符时,参数表应为空。例:用成员函数重载“+”,实现两个字符串的连接。程序中不能有s4=“begin”+s1;7.2运算符重载5.运算符函数为类的友员函数在类体内说明:friend类型名operator运算符(参数表);在类体外定义运算符函数的一般形式:类型名operator运算符(参数表){…}重载二元运算符时,参数表中应有两个形参。重载一元运算符时,参数表应有一个形参。以下运算符

3、不能重载为友元函数:=、()、[]、->。例:用友员函数重载“+”,实现两个字符串的连接。7.3虚函数例1:一个例子。1.虚函数的引入6.4赋值兼容规则1.赋值兼容规则在公有继承的前提下,基类对象与派生类对象之间的自动类型转换和赋值的规则。2.赋值兼容规则的具体内容✿可以把派生类对象赋给基类对象,反之则不行。例:Baseb1;Derivedd1;b1=d1;✿可以用派生类对象对基类对象或引用进行初始化。例:Derivedd1;Base&r1=d1;✿可以把派生类对象的地址赋给基类对象的指针变量。例:Derivedd1;Base*p=&d1

4、;例2:对前例的修改。✿运行程序后,输出的面积均为0。9.3虚函数2.虚函数虚函数是类成员函数,而且是非静态的。一个成员函数被说明或定义为虚函数后,表示它在派生类中可能有多种不同的实现。对虚函数只能通过指针或引用表示的对象来调用。3.定义虚函数的一般格式virtual类型名成员函数名(形参表){…}类的一个成员函数被说明或定义为虚函数后,由该类派生的类中所有与虚函数函数头相同的函数均为虚函数。例3:通过虚函数实现动态多态性。✿运行程序后,可以正确输出各形状的面积。

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

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

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