请打开考生文件夹下的解决方案文件proj3,此工程中包含一个源程序文件proj3.epp,其中定义了用于表示平面坐标系中的点的类MyPoint和表示矩形的类MyReetangle;程序应当显示: (0,2)(2,2)(2,0)(0,0)4

admin2020-04-07  12

问题 请打开考生文件夹下的解决方案文件proj3,此工程中包含一个源程序文件proj3.epp,其中定义了用于表示平面坐标系中的点的类MyPoint和表示矩形的类MyReetangle;程序应当显示:
    (0,2)(2,2)(2,0)(0,0)4
    但程序中有缺失部分,请按照以下提示,把缺失部分补充完整:
    (1)在“//** 1 **  **** found ****”的下方是构造函数的定义,它用参数提供的左上角和右下角的坐标对up_left和down_right进行初始化。
    (2)在“//** 2 **  ****found ****”的下方是成员函数getDownLeft的定义中的一条语句。函数getDownLeft返回用MyPoint对象表示的矩形的左下角。
    (3)在“//** 3 **  ****found****”的下方是成员函数area的定义,它返回矩形的面积。
    注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。
    //proj 3.cpp
    #include<iostream>
    using namespace std;
    class MyPoint{//表示平面坐标系中的点的类
      double x;
      double y;
    public:
      MyPoint(double x,double y)
    {this一>x=x;this一>y=y;}
      double getx()const{return x;}
      double gety()const{return y;}
      void show()const{cout<<’(’<<x<<’,’<<y<<’)’;}
    };
    class MyRectangle{  //表示矩形的类
      MyPoint up left;  //矩形的左上角顶点
      MyPoint down right;//矩形的右下角顶点
    public:
      MyRectangle(MyPoint upleft,MyPoint downright);
      MyPoint getUpLeft()COnst{return up left;)//返回左上角坐标
      MyPoint getDownRight()const{ return down right;}  //返回右下角坐标
      MyPoint getUpRight()const;
    //返回右上角坐标
      MyPoint getDownLeft()const;
    //返回左下角坐标
      double area()const;  //返回矩形的面积
    };
    //** 1 *********found*******
    MyRectangle::    MyRectangle(_________):
            up_left(p1),down_right(p2){}
    MyPoint MyRectangle::getUpRight()const
    {
      return MyPoint(down_right.
    getX(),up_left.getY());
    }
    MyPoint  MyRectangle::  getDownLeft()const
    {
    //**2** *******found*******
      return MyPoint(__________);
    }
    //**3**  *******found*******
    _________area()const
    {
      return(getUpLeft().getX()-getDownRight().getX())  *(getDownRight().getY()-getUpLeft().getY());
    }
    int main()
    {
      MyRectangle r(MyPoint(0,2),MyPoint(2,0));
      r.getUpLeft().show();
      r.getUpRight().show();
      r.getDownRight().show();
      r.getDownLeft().show();
      cout<<r.area()<<endl;
      return 0;
    }

选项

答案(1)MyPoint p1,MyPoint p2 (2)up_left.getX(),down_right.getY() (3)double MyRectangle::

解析 (1)考查构造函数,构造函数中的参数要给私有成员赋值,在下句中up_left(p1),down_right(p2){}指出私有成员赋值要使用形参p1和p2,因此这里参数要定义为MyPoint,p1,MyPoint p2。
    (2)主要考查成员函数的返回语句,MyPoint My Rectangle::getDowni庙()const函数要求返回一个左下角的点坐标,因此使用语句MyPoint(up_left.getX(),down_right.getY());。
    (3)主要考查成员函数的定义,在MyRectangle类中已经声明double area()const,因此此处只要添加double My.Rectangle::即可。
转载请注明原文地址:https://kaotiyun.com/show/jw8p777K
0

最新回复(0)