GEZEI 2022-06-29 02:21 采纳率: 100%
浏览 32
已结题

关于#C++#的问题,如何解决?

问题遇到的现象和发生背景

C++。不明白该怎么在类Rectangle中去用函数进行计算并输出矩形坐标和面积。我该怎么做?

问题相关代码,请勿粘贴截图

#include
using namespace std;

class Point{
public:
//set
void setX(int x) { p_x = x; }
void setY(int y) { p_y = y; }
//get
int getX() { return p_x; }
int getY() { return p_y; }

private:
int p_x;
int p_y;
};
class Rectangle {
public:
//set
void setLD(Point l) { LD = l; }//LD是左下点,RU是右上点。
void setRU(Point r) { RU = r; }
//get
Point getLD() { return LD; }
Point getRU() { return RU; }

private:
Point LD;
Point RU;
};

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

3条回答 默认 最新

  • it_hao528 2022-06-29 08:33
    关注

    在类Rectangle中新增计算矩形面积函数如下:

    // 计算矩形面积
    int getArea() {
        // 打印四个点的坐标
        cout << "矩形坐标如下:" << endl;
        cout << "左下:" << LD.getX() << ", " << LD.getY() << endl;
        cout << "左上:" << LD.getX() << ", " << RU.getY() << endl;
        cout << "右下:" << RU.getX() << ", " << LD.getY() << endl;
        cout << "右上:" << RU.getX() << ", " << RU.getY() << endl;
        // 计算面积 右上的x - 左下的x 得到宽,左下的y - 右上的y 得到高。
        int area = (RU.getX() - LD.getX()) * (LD.getY() - RU.getY());
        return area;
    }
    

    在main函数中测试如下:

    int main(int argc, const char * argv[]) {
        Point ld = Point();
        ld.setX(5);
        ld.setY(100);
        Point ru = Point();
        ru.setX(15);
        ru.setY(50);
        Rectangle r = Rectangle();
        r.setLD(ld);
        r.setRU(ru);
        int area = r.getArea();
        cout << "矩形面积为:" << area << endl;
        return 0;
    }
    

    希望可以帮你解决问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月1日
  • 已采纳回答 6月29日
  • 创建了问题 6月29日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?