问题描述:定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的mian()函数,求出定义的几个几何体的面积和。
#include<iostream>
using namespace std;
class Shape
{
public:
virtual double area()=0;//将area定义为纯虚函数,使Shape类为抽象类
};
class Circle:public Shape //定义圆类
{
public:
double radius; //半径成员数据
Circle(double r):radius(r){} //构造函数定义
double area() //对面积进行重新定义
{
return 3.14*radius*radius;
}
};
class Rectangle:public Shape //定义矩形类
{
public:
double lon,wide;
Rectangle(double a,double b):lon(a),wide(b){}
double area()
{
return lon*wide;
}
};
class Triangle:public Shape
{
public:
double wid,high;
Triangle(double w,double h):wid(w),high(h){}
double area()
{
return (wid * high)/2;
}
};
int main()
{
Circle c1(12