《多态性与虚函数》PPT课件.ppt

《多态性与虚函数》PPT课件.ppt

ID:52077360

大小:162.50 KB

页数:35页

时间:2020-03-31

《多态性与虚函数》PPT课件.ppt_第1页
《多态性与虚函数》PPT课件.ppt_第2页
《多态性与虚函数》PPT课件.ppt_第3页
《多态性与虚函数》PPT课件.ppt_第4页
《多态性与虚函数》PPT课件.ppt_第5页
资源描述:

《《多态性与虚函数》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章多态性与虚函数本章内容多态性概述运算符重载虚函数及动态多态性1.多态性概述多态性是面向对象程序设计的一个重要特征。多态性:是指发出同样的消息被不同类型的对象接收时而导致不同的行为。多态是指类中具有相似功能的不同函数使用同一个名称。当调用这个相同名称的函数时,可根据需要完成不同的功能.从实现时机方面讲,多态性可以分为:静态多态性动态多态性静态多态性:指可在编译期间确定的多态性。静态多态性:函数重载运算符重载动态多态性:指在程序在运行过程中,才能确定的多态性。1.多态性静态多态性:1)函数重载:几个函数具有相同的名字,但函数参数的个数或类型不同。重载的函数可以是:一般函数类中的成

2、员函数、构造函数例题:构造函数重载:#includeclassclassA{public:classA(){a1=0;a2=0;cout<<”default”;}classA(inti,intj);voidprint(){cout<

3、;ob2.print();}#include#includeclassstring{public:string(char*pa);voidprint(){cout<

4、++”);}成员函数重载例题:运算符重载:将已有的运算符赋予新的含义。不可重载的运算符“•”圆点运算符“•*”成员指针选择运算符“∷”域分辨运算符“?:”条件运算符“sizeof”长度运算符除以上五个运算符外,其余运算符均可重载。2.运算符重载重载运算符的规则:只能重载C++中已有的可重载的运算符,不能建立新的运算符;重载运算符时不能改变原运算符操作数的个数、原有运算符的优先级和结合性,也不能改变原运算符对于内部基本类型对象的含义;如果重载了某个运算符(如“=”),并不意味着重载了相关的运算符(如“+=”、“-=”等);运算符重载:运算符重载函数的实现:可以利用:成员运算符函

5、数友元运算符函数学习时注意:不同的实现方法,参数的个数不同。运算符重载:用类的成员函数的格式如下:class类名{......返回类型operator运算符(形参表);......};运算符重载:例:利用成员函数实现两个复数相加运算。程序说明:成员函数complexoperator+(constcomplex&a)用于定义“+”运算符重载复数类对象相加:c1+c2,相当于:c1.operator+(c2)用类的友元函数的格式如下。class类名{......friend返回类型operator运算符(形参表);......};运算符重载:由于友元函数被调用时没有隐含指向当前对象的this指

6、针作实参,所以,一个一元运算符重载为类的友元函数时,其参数个数为1,一个二元运算符重载为类的成员函数时,其参数个数必须为2。运算符重载:例:利用友元函数实现两个复数相加运算。程序说明:友员函数friendcomplexoperator+(constcomplex&a,constcomplex&b)复数类对象相加:c1+c2,相当于:operator+(c1,c2)注意:用友元函数operator+()必须有两个参数。单目运算符重载例题:重载++、--、=,同时实现2个变量的加1、减1。#includeclasscount{inta,b;public:count(in

7、ti,intj){a=i;b=j;}voidshow(){cout<

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

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

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