编写程序,定义抽象基类Shape(形状),由他派生出三个派生类

编写程序,定义抽象基类Shape(形状),由他派生出三个派生类:Circle(圆形)、Rectangle(矩形)和Square(正方形),用函数函数ShowArea()分... 编写程序,定义抽象基类Shape(形状),由他派生出三个派生类:Circle(圆形)、Rectangle(矩形)和Square(正方形),用函数函数ShowArea()分别显示各种图形的面积,最后还有显示所有图形的总面积。要求用基类指针数组,使他的每一个元素指向一个派生类对象 展开
 我来答
duck_lwz
推荐于2018-12-03 · TA获得超过512个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:352万
展开全部
不晓得你显示所有图形的总面积的函数放在哪里?

const double PI = 3.14;

class Shape
{
public:
virtual double ShowArea() = 0;
};

class Circle:public Shape
{
private:
double radius;
public:
Circle(double r):radius(r){}
double ShowArea(){return PI*radius*radius;}
};

class Rectangle:public Shape
{
private:
double length;
double width;
public:
Rectangle(double l, double w):length(l), width(w){}
double ShowArea(){return length*width;}
};

class Square:public Shape
{
private:
double length;
public:
Square(double l):length(l){}
double ShowArea(){return length*length;}
};

void main()
{
Circle circle(2);
Rectangle rect(3,4);
Square square(5);

Shape * arr[3] = {&circle, &rect, &square};

for(int i=0; i<3; i++)
{
cout << arr[i]->ShowArea() << endl;
}
}
定找到案
2011-12-07
知道答主
回答量:16
采纳率:0%
帮助的人:6万
展开全部
书上应该有,你找找
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式