c++设计一个矩形类 Rect,类数据成员有左上角的坐标值 x,y,宽 w、高h,要求有下述成员函数。(1)move():从一个位置移动到另一个位置。(2)size():改变矩形的大小。(3)where():返回矩形右下角的坐标值。(4)area():计算矩形的面积。
作者:野牛程序员:2024-10-25 11:01:06 C++阅读 2610
c++设计一个矩形类 Rect,类数据成员有左上角的坐标值 x,y,宽 w、高h,要求有下述成员函数。(1)move():从一个位置移动到另一个位置。(2)size():改变矩形的大小。(3)where():返回矩形右下角的坐标值。(4)area():计算矩形的面积。
c++设计一个矩形类 Rect,类数据成员有左上角的坐标值 x,y,宽 w、高h,要求有下述成员函数。(1)move():从一个位置移动到另一个位置。(2)size():改变矩形的大小。(3)where():返回矩形右下角的坐标值。(4)area():计算矩形的面积。
以下是一个 C++ 程序,设计了一个矩形类 Rect,包含所需的数据成员和成员函数:
#include <iostream>
class Rect {
private:
double x; // 左上角的 x 坐标
double y; // 左上角的 y 坐标
double w; // 宽度
double h; // 高度
public:
// 构造函数
Rect(double xCoord, double yCoord, double width, double height)
: x(xCoord), y(yCoord), w(width), h(height) {}
// 移动矩形到新位置
void move(double newX, double newY) {
x = newX;
y = newY;
}
// 改变矩形的大小
void size(double newWidth, double newHeight) {
w = newWidth;
h = newHeight;
}
// 返回矩形右下角的坐标
void where(double& bottomRightX, double& bottomRightY) {
bottomRightX = x + w;
bottomRightY = y + h;
}
// 计算矩形的面积
double area() {
return w * h;
}
// 输出矩形信息
void print() {
std::cout << "左上角坐标: (" << x << ", " << y << ")" << std::endl;
std::cout << "宽度: " << w << ", 高度: " << h << std::endl;
std::cout << "面积: " << area() << std::endl;
double bottomRightX, bottomRightY;
where(bottomRightX, bottomRightY);
std::cout << "右下角坐标: (" << bottomRightX << ", " << bottomRightY << ")" << std::endl;
}
};
int main() {
// 创建一个矩形实例
Rect rect(0, 0, 4, 3);
// 输出初始信息
std::cout << "初始矩形信息:" << std::endl;
rect.print();
// 移动矩形
rect.move(1, 1);
std::cout << "\n移动后的矩形信息:" << std::endl;
rect.print();
// 改变矩形的大小
rect.size(5, 6);
std::cout << "\n改变大小后的矩形信息:" << std::endl;
rect.print();
return 0;
}程序说明
Rect 类:
数据成员包括左上角的坐标
x和y,以及宽度w和高度h。构造函数: 用于初始化矩形的属性。
move: 方法用于将矩形移动到新的位置。
size: 方法用于改变矩形的宽度和高度。
where: 方法用于返回矩形右下角的坐标。
area: 方法用于计算矩形的面积。
print: 方法用于输出矩形的基本信息。
main 函数:
创建一个
Rect类的实例,并输出初始信息。调用
move方法移动矩形,并输出移动后的信息。调用
size方法改变矩形的大小,并输出改变后的信息。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

