百度空间 | 百度首页 
 
查看文章
 
纯虚函数和抽象类示例
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);
}

类别:Coding | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
本篇日志被作者设置为禁止发表新评论

     

©2009 Baidu