7.5 定义一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有getArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square。
#include<iostream>
using namespace std;
//定义Shape基类
class Shape
{
public:
virtual double getArea()=0;
};
//由Shape类派生Rectangle类
class Rectangle:public Shape
{
public:
Rectangle(double a,double b) //构造函数
{
length=a;
width=b;
}
~Rectangle(){
} //析构
double getArea() //GetArea()函数计算Rectangle面积
{
return length*width;
}
private:
double length;
double width;
};
//由Shape类派生Circle类
class Circle:public Shape
{
public:
Circle(double a)
{
r=a;
}
~Circle(){
}
double getArea()
{
return 3.14*r*r;
}
private:
double r;
};
//由S