关于#c++#的问题,如何解决?(开发工具-visualstudio)

用c++ 构造一个矩形类Rectangle,数据成员为矩形的左下角与右上角的坐标,利用带参数的构造函数对数据成员进行赋值,并定义析构函数,内容自定,并定义两个成员函数分别实现对矩形面积的计算,矩形周长的计算,在main函数中完成测试和相关信息的输出

以下是用C++构造的Rectangle类,其中包含左下角坐标和右上角坐标作为数据成员,并在构造函数中初始化。还包含两个成员函数,分别用于计算矩形面积和周长。最后,析构函数用于释放内存并清除对象。在main函数中,我们创建两个Rectangle对象,并调用它们的成员函数来计算矩形的面积和周长。


#include <iostream>

class Rectangle {
private:
    int x1, y1, x2, y2;

public:
    Rectangle(int x1_, int y1_, int x2_, int y2_) : x1(x1_), y1(y1_), x2(x2_), y2(y2_) {}
    ~Rectangle() { std::cout << "Rectangle destroyed" << std::endl; }

    int getArea() {
        int width = x2 - x1;
        int height = y2 - y1;
        return width * height;
    }

    int getPerimeter() {
        int width = x2 - x1;
        int height = y2 - y1;
        return 2 * (width + height);
    }
};

int main() {
    Rectangle r1(0, 0, 4, 3);
    Rectangle r2(2, 2, 6, 5);

    std::cout << "r1 area: " << r1.getArea() << std::endl;
    std::cout << "r1 perimeter: " << r1.getPerimeter() << std::endl;

    std::cout << "r2 area: " << r2.getArea() << std::endl;
    std::cout << "r2 perimeter: " << r2.getPerimeter() << std::endl;

    return 0;
}

输出:


r1 area: 12
r1 perimeter: 14
r2 area: 12
r2 perimeter: 14
Rectangle destroyed
Rectangle destroyed