用C++语言编写一个抽象类Shape,派生出两个子类Rectangle和Circle,完成计算矩形面积和圆面积;
#include<iostream>
using namespace std;
class Shape{ //建立抽象类Shape
public:
virtual double Area() const = 0; //声明并定义纯虚函数Aera
};
class Rectangle : public Shape{ //Rectangle公有继承Shape
private:
double length; //属性:长度
double width; //属性:宽度
public:
Rectangle(double l,double w):length(l),width(w){} //利用构造函数初始化长宽
double Area() const { return length*width;} //对虚函数进行再定义
};
class Circle : public Shape{ //Circle公有继承Shape
private:
double R; //属性:半径
public:
Circle(double r):R(r){} //利用构造函数初始化半径
double Area() const { const double PI = 3.14;return R*R*PI;}//对虚函数进行再定义
};
int main(){ //测试
Rectangle rec(2,5);
Circle cir(10);
cout << "矩形面积:" << rec.Area() <<endl;
cout << "圆面积:" << cir.Area() <<endl;
system("pause");
return 0;
}