查看文章 |
纯虚函数和抽象类示例
2009-03-31 21:35
#include<iostream.h>//纯虚函数和抽象类示例 class shape{ public: virtual double area() const=0; }; class point{ double x,y; public: point(double x0=0.0,double y0=0.0):x(x0),y(y0){} double getx() const{return x;} double gety() const {return y;} }; class rectangle:public shape{ point ul; point dr; public: rectangle(point p1,point p2):ul(p1),dr(p2){} virtual double area()const{ return (dr.getx()-ul.getx())*(dr.gety()-ul.gety()); } point getupleft()const{return ul;} point getdownright()const{return dr;} }; class circle:public shape{ point cen; double rad; public: circle(point c,double r):cen(c),rad(r){} virtual double area()const{ return 3.1415926*rad*rad; } point getcenter() const {return cen;} double getradius()const {return rad;} }; void showarea(shape &s){ cout<<s.area(); } void main(){ rectangle r(point (2.0,2.0),point (8.0,8.0)); showarea(r); cout<<endl; circle c(point (8,8),4); showarea(c); } |
最近读者:
本篇日志被作者设置为禁止发表新评论