正在加载图片...
5.2函数重载 编译时多杰性可以通过函数重载来实现。函数重载的意义在于它能 Void main( point p(20, 20) circle c(8,8,30); cout<< parea()<<endl;∥执行基类 point E中的area()的函数 cout<< c area0<<endl;∥执行派生类 circle中的area()函数 cout< C point:area(<<end;/.行基类 point中的area()的函数 程序运行结果为: 0 2827439941 class circle: public pointt int radius, public circle(int x, int y, int rad: point(*,yradius=rad float area( return3,1416 radius* radius;派生类中的area函数3 5.2 函数重载 编译时多态性可以通过函数重载来实现。函数重载的意义在于它能 用同一个名字访问一组相关的函数,也就是说,能使用户为某一 类操作取一个通用的名字,而由编译程序来选择具体由哪个函数 来执行,因而有助于解决程序的复杂性问题。普通成员函数和构 造函数都可以重载 例5.1 基类和派生类中函数重载的例子 #include <iostream.h> class point{ int x,y; public: point(int a,int b){x=a;y=b;} float area(){return 0.0;} //基类中的area函数 }; class circle:public point{ int radius; public: circle(int x,int y,int rad):point(x,y){radius=rad;} float area(){return 3,1416*radius*radius;}//派生类中的area函数 }; Void main() { point p(20,20); circle c(8,8,30); cout<<p.area()<<endl; //执行基类point中的area()的函数 cout<<c.area()<<endl; //执行派生类circle中的area()函数 cout<<c.point::area()<<endl;//执行基类point中的area()的函数 } 程序运行结果为: 0 2827.439941 0
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有