欢迎来到天天文库
浏览记录
ID:58698827
大小:93.50 KB
页数:58页
时间:2020-10-04
《第6章_多态性与虚函数ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章多态性与虚函数6.1多态性的概念6.2一个典型的例子6.3虚函数6.4纯虚函数与抽象类7/27/20211【目的要求】1.理解编译时多态是静态联编;2.理解运行时的多态性是动态联编;3.掌握虚函数的用法;4.运用虚函数实现程序的多态性.【重点】1.运行时的多态性2.各成员函数的调用【难点】各成员函数的调用7/27/202126.1多态性的概念多态性:是指具有不同功能的函数可以用同一个函数名,从而实现用一个函数名调用不同的内容。多态分:静态多态性又称:编译时的多态性,如函数重载运算符重载动态多态性又称:运行时的多态性,通过虚函数来现实。本章研究的重点是:当一个基类
2、被继承为不同的派生类时,各派生类可以使用与基类成员相同的成员名,如果在运行时用同一个成员名调用类对象的成员,会调用哪个对象的成员?7/27/202136.2一个典型的例子例6.1继承、运算符重载、多态性综合例(1)声明基类Point类见C6-1-1(VC).CPP#includeclassPoint//声明类Point{public:Point(float=0,float=0);voidsetPoint(float,float);floatgetX()const{returnx;}floatgetY()const{returny;}friend
3、ostream&operator<<(ostream&,constPoint&);protected:floatx,y;};7/27/20214Point::Point(floata,floatb)//Point的构造函数{x=a;y=b;}voidPoint::setPoint(floata,floatb)//设置x和y的坐标值{x=a;y=b;}ostream&operator<<(ostream&output,constPoint&p){output<<"["<
4、main(){Pointp(3.5,6.4);cout<<"x="<
5、tgetY()const{returny;}friendostream&operator<<(ostream&,constPoint&);protected:floatx,y;};7/27/20216Point::Point(floata,floatb){x=a;y=b;}//设置x和y的坐标值voidPoint::setPoint(floata,floatb){x=a;y=b;}//输出点的坐标ostream&operator<<(ostream&output,constPoint&p){output<<"["<
6、eturnoutput;}7/27/20217classCircle:publicPoint{public:Circle(floatx=0,floaty=0,floatr=0);voidsetRadius(float);floatgetRadius()const;floatarea()const;friendostream&operator<<(ostream&,constCircle&);private:floatradius;};7/27/20218Circle::Circle(floata,floatb,floatr):Point(a,b),radius(r){
7、}voidCircle::setRadius(floatr){radius=r;}floatCircle::getRadius()const{returnradius;}floatCircle::area()const{return3.14159*radius*radius;}ostream&operator<<(ostream&output,constCircle&c){output<<"Center=["<
此文档下载收益归作者所有