编写一个c++程序,设计一个函数rect,要求该函数能计算矩形面积
时间: 2023-05-29 22:06:29 浏览: 171
#include <stdio.h>
int rect(int length, int width) {
int area = length * width;
return area;
}
int main() {
int length, width;
printf("请输入矩形的长度和宽度:\n");
scanf("%d%d", &length, &width);
printf("矩形的面积为:%d\n", rect(length, width));
return 0;
}
相关问题
C++ 编写一个表示矩形的类 Rect,包含两个私有成员 w,h 分别表示举行的宽和高。 编写合适的构造函数、计算面积的函数以及访问和修改成员变量的函数。 从 Rect 派生出一个表示正方形的类 Square,编写合适的构造函数、改写 (override)修改成员变量的函数。注意:正方形的宽和高相等
Rect 类的实现:
```cpp
class Rect {
private:
double w;
double h;
public:
Rect(double _w, double _h): w(_w), h(_h) {}
double get_area() const { return w * h; }
double get_width() const { return w; }
double get_height() const { return h; }
void set_width(double _w) { w = _w; }
void set_height(double _h) { h = _h; }
};
```
Square 类的实现:
```cpp
class Square : public Rect {
public:
Square(double side) : Rect(side, side) {}
void set_width(double side) override {
Rect::set_width(side);
Rect::set_height(side);
}
void set_height(double side) override {
Rect::set_width(side);
Rect::set_height(side);
}
};
```
在 Square 类中,我们继承了 Rect 类的所有成员变量和方法,并重新定义了 set_width 和 set_height 函数以保证正方形的宽和高始终相等。在这两个函数中,我们调用了父类的同名函数并传入 side,来同时修改宽和高。由于这两个函数被重写了,我们需要使用 override 关键字来表明这是对父类函数的改写。
C++编写一个表示矩形的类Rect, 包含两个私有成员w,h分别表示举行的宽和高。编写合适的构造函数、计算面积的函数以及访问和修改成员变量的函数。 从Rect 派生出一个表示正方形的类Square, 编写合适的构造函数、改写(override)修改成员变量的函数。注意:正方形的宽和高相等。
好的,我会为您解答关于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`关键字来指示这两个函数覆盖了父类的函数。
希望这个回答对您有所帮助!
阅读全文