m0_55629479 2021-11-16 15:14 采纳率: 66.7%
浏览 19
已结题

完成代码并制定确认动作的main函数,以便像注释的内容一样动作

在下面的代码中,IntPoint是表示二维平面上的点的类,x、y是保存平面上的坐标的成员,Rectangle是未旋转的长方形表现类,左-角为corner,宽度和高度分别为width和height。

#include <iostream>
class IntPoint {
public:
    int x; // x 坐标
    int y; // y 坐标
    IntPoint(int x, int y): x(x), y(y) {}
};
class Rectangle {
    IntPoint corner; // 长方形左-下角点
    int width; // 长方形的宽 
    int height; // 长方形的高 
public:
    Rectangle(IntPoint pt, int w, int h):
        corner(pt),
        width((w < 0) ? 0 : w), height((h < 0) ? 0 : h) {}
    int perimeter() {
        return 2*width + 2*height;
    }
    int area() {
        return width * height;
    }
    int get_width() {
        return width;
    }
    int get_height() {
        return height;
    }
    // 如果当前实例矩形和r重叠,则为true否则为false
    bool intersect(Rectangle r) {
        // 编写代码
    }
    // 返回对角线的长度( int型)
    int diagonal() {
        // 编写代码
    }
    // 返回矩形中心点的坐标为IntPoint型
    IntPoint center() {
        // 编写代码
    }
// 当前实例四角形的内部(包括边界)有pt的话就是true, 否则就是false
    bool is_inside(IntPoint pt) {
        // 编写代码 
    }
};


  • 写回答

1条回答 默认 最新

  • 关注

    代码补充如下

    #include <iostream>
    #include <math.h>
    class IntPoint {
    public:
        int x; // x 坐标
        int y; // y 坐标
        IntPoint(int x, int y): x(x), y(y) {}
    };
    class Rectangle {
        IntPoint corner; // 长方形左-下角点
        int width; // 长方形的宽 
        int height; // 长方形的高 
    public:
        Rectangle(IntPoint pt, int w, int h):
          corner(pt),
              width((w < 0) ? 0 : w), height((h < 0) ? 0 : h) {}
          int perimeter() {
              return 2*width + 2*height;
          }
          int area() {
              return width * height;
          }
          int get_width() {
              return width;
          }
          int get_height() {
              return height;
          }
          // 如果当前实例矩形和r重叠,则为true否则为false
          bool intersect(Rectangle r) {
              // 编写代码
              if(r.x <= corner.x + width && r.y <= corner.y + height)
                  return true;
              return false;
          }
          // 返回对角线的长度( int型)
          int diagonal() {
              // 编写代码
              return sqrt((double)(width*width + height*height));
          }
          // 返回矩形中心点的坐标为IntPoint型
          IntPoint center() {
              // 编写代码
              return IntPoint(corner.x + width/2,corner.y + height/2);
          }
          // 当前实例四角形的内部(包括边界)有pt的话就是true, 否则就是false
          bool is_inside(IntPoint pt) {
              // 编写代码 
              if (corner.x <= pt.x && corner.y <= pt.y && pt.x <= corner.x+width && pt.y <=corner.y+height  )
                return true;
              return false;
          }
    };
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月1日
  • 已采纳回答 11月23日
  • 创建了问题 11月16日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭