C++课件第6章A多态性和虚函数.ppt

C++课件第6章A多态性和虚函数.ppt

ID:59448056

大小:335.00 KB

页数:32页

时间:2020-09-18

C++课件第6章A多态性和虚函数.ppt_第1页
C++课件第6章A多态性和虚函数.ppt_第2页
C++课件第6章A多态性和虚函数.ppt_第3页
C++课件第6章A多态性和虚函数.ppt_第4页
C++课件第6章A多态性和虚函数.ppt_第5页
资源描述:

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

1、基类与派生类的关系任何一个类都可以派生出一个新类,派生类也可以再派生出新类,因此,基类和派生类是相对而言的。   基类与派生类之间的关系可以有如下几种描述:1.派生类是基类的具体化类的层次通常反映了客观世界中某种真实的模型。在这种情况下,不难看出:基类是对若干个派生类的抽象,而派生类是基类的具体化。基类抽取了它的派生类的公共特征,而派生类通过增加行为将抽象类变为某种有用的类型。2.派生类是基类定义的延续先定义一个抽象基类,该基类中有些操作并未实现。然后定义非抽象的派生类,实现抽象基类中定义的操作。例如,虚函数就属

2、此类情况。这时,派生类是抽象的基类的实现,即可看成是基类定义的延续。这也是派生类的一种常用方法。3.派生类是基类的组合在多继承时,一个派生类有多于一个的基类,这时派生类将是所有基类行为的组合。1第六章多态性和虚函数多态性的概念虚函数纯虚函数和抽象类2多态性——指的是一个名称可以具有多种语义。利用多态性,用户向不同的对象发送同一个消息,不同的对象根据所接收到的消息做出不同的动作(即操作或方法)作用:增加灵活性,减少冗余信息,提高软件的可重用性和可扩充性调用函数(一)多态性的概念3多态性也分为静态多态性和动态多态性两种

3、。静态多态性——是指定义在一个类或一个函数中的同名函数,它们可根据参数表(类型及个数)区别语义,在程序编译时系统就能决定调用哪个函数。又称为编译时的多态性。动态多态性——是指定义在一个类层次的不同类中的函数,它们一般具有相同的参数表,因而要根据指针指向的对象所在类来区别语义,在程序运行过程中才能动态的确定操作所针对的对象。又称运行时的多态性。(一)多态性的概念虚函数函数和运算符的重载4(二)虚函数引入:例6.2:基类与派生类中有同名函数#include#includeusingn

4、amespacestd;classStudent{public:Student(int,string,float);voiddisplay();Student::Student(intn,stringnam,floats){num=n;name=nam;score=s;}voidStudent::display(){cout<<"num:"<

5、;};5引入:例6.2:基类与派生类中有同名函数classGraduate:publicStudent{public:Graduate(int,string,float,float);voiddisplay();voidGraduate::display(){cout<<"num:"<

6、nt(n,nam,s),pay(p){}private:floatpay;};intmain(){Studentstud1(1001,"Li",87.5);Graduategrad1(2001,"Wang",98.5,563.5);Student*pt=&stud1;pt->display();pt=&grad1;pt->display();return0;}num:1001name:LiScore:87.5num:2001name:wangscore:98.5pay#include#inclu

7、deusingnamespacestd;classStudent{public:Student(int,string,float);virtualvoiddisplay();6引入:例分析以下程序的执行结果classunstudent{protected:intno;charname[10];intfee1,fee2,fee3,fee4,fee;public:voidcalfee(){cout<<"学号:";cin>>no;cout<<"姓名:";cin>>name;fee1=4800;fee2=1

8、100;fee3=400;fee4=200;fee=fee1+fee2+fee3+fee4;}voiddisp(){cout<<"学费:"<

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

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

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