C++编写一个表示矩形的类Rect, 包含两个私有成员w,h分别表示举行的宽和高。编写合适的构造函数、计算面积的函数以及访问和修改成员变量的函数。 从Rect 派生出一个表示正方形的类Square, 编写合适的构造函数、改写(override)修改成员变量的函数。注意:正方形的宽和高相等。
时间: 2024-03-25 20:41:42 浏览: 74
好的,我会为您解答关于C++的问题。
首先,我们可以编写一个表示矩形的类Rect,代码如下:
```c++
class Rect {
private:
int w, h; // 矩形的宽和高
public:
Rect(int width, int height): w(width), h(height) {} // 构造函数
int getArea() const { return w * h; } // 计算面积的函数
int getWidth() const { return w; } // 获取宽度的函数
int getHeight() const { return h; } // 获取高度的函数
void setWidth(int width) { w = width; } // 设置宽度的函数
void setHeight(int height) { h = height; } // 设置高度的函数
};
```
接下来,我们可以从Rect派生出一个表示正方形的类Square,代码如下:
```c++
class Square : public Rect {
public:
Square(int side) : Rect(side, side) {} // 构造函数
void setWidth(int side) override { Rect::setWidth(side); Rect::setHeight(side); } // 修改宽度的函数
void setHeight(int side) override { Rect::setWidth(side); Rect::setHeight(side); } // 修改高度的函数
};
```
在这个类中,我们使用了`Rect::setWidth(side)`和`Rect::setHeight(side)`来修改父类的私有成员变量。注意,我们使用了`override`关键字来指示这两个函数覆盖了父类的函数。
希望这个回答对您有所帮助!
阅读全文