欢迎来到天天文库
浏览记录
ID:62114523
大小:949.00 KB
页数:68页
时间:2021-04-17
《最新多态性与虚函数幻灯片.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、多态性与虚函数多态性是面向对象程序设计的关键技术之一。若程序设计语言不支持多态性,不能称为面向对象的语言。利用多态性技术,可以调用同一个函数名的函数,实现完全不同的功能。12.1多态性的概念在C++中有两种多态性编译时的多态性运行时的多态性运行时的多态性是指在程序执行前,无法根据函数名和参数来确定该调用哪一个函数,必须在程序执行过程中,根据执行的具体情况来动态地确定。它是通过类继承关系和虚函数来实现的。目的也是建立一种通用的程序。通用性是程序追求的主要目标之一。通过函数的重载和运算符的重载来实现的。Point::Point(floata,floatb){x=a;y=b
2、;}//------------------------------------------------------voidPoint::setPoint(floata,floatb)//为x,y赋新值{x=a;y=b;}//------------------------------------------------------//重载运算符“<<”,使之能输出点的坐标ostream&operator<<(ostream&output,constPoint&p){output<<″[″<
3、}//--------------------------------------------------------------------以上完成了基类Point类的声明。写出测试程序。intmain(){Pointp(3.5,6.4);cout<<″x=″<
4、用,证明程序是正确的。(2)声明派生类CircleclassCircle:publicPoint{public:Circle(floatx=0,floaty=0,floatr=0);voidsetRadius(float);//设置半径值floatgetRadius()const;//读取半径值floatarea()const;//计算圆面积friendostream&operator<<(ostream&,constCircle&);private:floatradius;};Circle::Circle(floata,floatb,floatr):Point(a,
5、b),radius(r){}voidCircle::setRadius(floatr){radius=r;}//--------------------------------------------------------------floatCircle::getRadius()const{returnradius;}floatCircle::area()const{return3.14159*radius*radius;}//----------------------------------//重载运算符“<<”,使之按规定的形式输出圆的信息ostream&o
6、perator<<(ostream&output,constCircle&c){output<<″Center=[″<7、.getX()<<“,y=“<
7、.getX()<<“,y=“<
此文档下载收益归作者所有