林业大学第十二章多态类

林业大学第十二章多态类

ID:37565941

大小:282.81 KB

页数:16页

时间:2019-05-12

林业大学第十二章多态类_第1页
林业大学第十二章多态类_第2页
林业大学第十二章多态类_第3页
林业大学第十二章多态类_第4页
林业大学第十二章多态类_第5页
资源描述:

《林业大学第十二章多态类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第12章多态类多态是面向对象程序设计的又一大特征。多态性是指发出同样的消息被不同类型的对象接收时产生完全不同的行为,简单的说就是“一个接口,多种算法”。第12章多态类要点:虚函数的定义及使用方法纯虚函数及抽象类的基本概念重点内容:虚函数的定义及使用方法一、虚函数1.虚函数的定义格式在一个类中用关键字virtual说明的成员函数称为虚函数,其定义的格式如下:virtual函数类型函数名(形参表){函数体}定义虚函数就是为了实现多态类。在基类中某个成员函数被声明为虚函数后,这个成员函数通常要在派生类中被重新定义,否则定义虚函数就没有意义。一、虚函数如果在基类中说明了的虚函数,在它的派

2、生类中与基类中虚函数说明相同的函数一定是虚函数,可以省略关键字virtual。但从程序的易读性出发,最好不要省略派生类中重定义虚函数时的virtual关键字。一、虚函数例12.1虚函数的定义及使用。#includeclassCountry{public:virtualvoidDisplay()//虚函数{cout<<"世界上有很多国家。"<

3、Country{public:virtualvoidDisplay(){cout<<"美国和我们隔洋相对。"<Display();pc=&am;pc->Display();pc=&ch;pc->Display();}一、虚函数2.虚析构函数析构函数是在该类对象消亡之前进行一些必要的清理工作,对于动态绑定的虚函数必须用虚析构函数进行释放。一、虚函数例12.2虚析构函数应用举例。#includeclassA{public:virtualvo

4、iddisplay(){cout<<"displayA"<display();deletepb;}二、纯虚函数和抽象类1.纯虚函数纯虚函数是一种特殊的虚函数,它只有函数的声明,并没有具体实现函数的功能。它的一

5、般格式如下:virtual<函数返回类型><虚函数名称><(参数列表)>=0;#includeclassShape{public:Shape(doubledfx=0.0,doubledfy=0.0);virtualvoidDraw()=0;//纯虚函数protected:doubleFirstX;//第一点x坐标doubleFirstY;//第一点y坐标};Shape::Shape(doubledfx,doubledfy){FirstX=dfx;FirstY=dfy;}classLine:publicShape{public:Line(doubledfx=

6、0.0,doubledfy=0.0,doubledsx=0.0,doubledsy=0.0);voidDraw();protected:doubleSecondX;//第二点x坐标doubleSecondY;//第二点y坐标};Line::Line(doubledfx,doubledfy,doubledsx,doubledsy):Shape(dfx,dfy){SecondX=dsx;SecondY=dsy;}voidLine::Draw(){cout<<"绘制一条直线,第一点坐标为:("<

7、,"<

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

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

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