C++中如何声明一个抽象类Shape?

来源:百度知道 编辑:UC知道 时间:2024/06/16 13:59:35
要求:声明一个抽象类Shape,在此基础上派生Rectangle和Circle类,两者都由getArea()函数来计算面积,由getPerim()来计算周长。
回答满意的话追加100分,决不食言!

希望你有用。
#include<iostream.h>
class Sharp
{
public:
Sharp(){}
~Sharp(){}
virtual float GetArea()=0;
virtual float GetPerim()=0;
};
class Rectangle:public Sharp
{
public:
Rectangle(float len,float width):itsLength(len),itsWidth(width){};
~Rectangle();
virtual float GetArea(){return itsLength*itsWidth;}
float GetPerim(){return 2*itsLength+2*itsWidth;}
virtual float GetLength(){return itsLength;}
virtual float GetWidth(){return itsWidth;}
private:
float itsLength;
float itsWidth;
};
class Circle:public Sharp
{
public:
Circle(float radius):itsRadius(radius){}
~Circle(){}
float GetArea(){return 3.14*itsRadius*itsRadius;}
float GetPerim(){return 6.28*itsRadius;}
private:
float itsRadius;
};
void main()
{
Sharp *sp;
sp=new Circle(5);
cout<<"The area of the Circle is"&