C++ 抽象图形类 Shape 实现面积和周长计算
#include
class Shape{ public: virtual double area()=0; virtual double perim()=0; virtual ~Shape()=0; }; Shape::~Shape(){}
class Rectangle:public Shape{
double length,width;
public:
Rectangle(double l=1,double w=1):length(l),width(w){}
double area(){return lengthwidth;}
double perim(){return 2(length+width);}
};
class Circle:public Shape{
double radius;
public:
Circle(double r=1):radius(r){}
double area(){return 3.14radiusradius;}
double perim(){return 23.14radius;}
};
int main(){
Shape *p;
Rectangle r(4,5);
Circle c(4);
p = &r;
cout'Rectangle area is '<
p = &c;
cout'Circle area is '<<p->area()<<endl;
cout'Circle perim is '<<p->perim()<<endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/npgw 著作权归作者所有。请勿转载和采集!