永发信息网

声明一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积.

答案:2  悬赏:30  手机版
解决时间 2021-03-04 04:27
  • 提问者网友:两耳就是菩提
  • 2021-03-03 17:07
使用Rectangle类创建一个派生类Square.
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-03-03 17:57
class Shape
{
public:
virtual double GetArea()=0;
};

class Rectangle : public Shape
{
public:
Rectangle(double h, double w) : height(h), width(w){}
double GetArea(){ return height * width; }
private:
double height;
double width;
};
class Circle : public Shape
{
public:
Circle(double r):radius(r){}
double GetArea(){ return 3.14159 * radius * radius; }
private:
double radius;
};

class Square : public Rectangle
{
public:
Square(double l) : Rectangle(l, l){}
};
全部回答
  • 1楼网友:持酒劝斜阳
  • 2021-03-03 18:33
楼上用的是java,既然说到基类和派生类,我想应该是指用c++实现,以下是我的方法: #include class shape{ //这里可以自己添加数据成员或成员函数 }; class rectangle:public shape { double height,width; public: rectangle(double h=1.0,double w=1.0)//该构造函数用于初始化矩形类的数据成员 { height=h; width=w; } double getarea()//计算矩形面积 { return height*width; } }; class circle:public shape { double radius; public: circle(double r=1.0)//该构造函数用于初始化圆形类的数据成员 { radius=r; } double getarea()//计算圆形面积 { return 3.14*radius*radius; } }; void main() { rectangle a(10.5,11.5); cout<
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯