正在加载图片...
5.2函数重载 编译时多杰性可以通过函数重载来实现。函数重载的意义在于它能 Void main( point p(20, 20) circle c(8, 8, 30) cout<<. area(<<end;∥:行基类pont中的area()的函数 cout<<carea0<endl;∥:行派生类crce中的area()函数 cout<<c. point:area(<<endl;/执行基类 point的area()的函数 程序运行结果为: 0 2827439941 class circle: public point int radius: public circle(int x, int y int rad): point(x,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 高等教育资讯网 版权所有