请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.epp,其中定义了用于表示平面坐标系中的点的类MyPoint和表示矩形的类MyRectangle;程序应当显示: (0,2)(2,2

admin2019-06-05  44

问题 请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.epp,其中定义了用于表示平面坐标系中的点的类MyPoint和表示矩形的类MyRectangle;程序应当显示:
    (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****”。
//proj3.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 downright;}/返回右下角坐标
  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∷ getDown
Left()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()<<end1;
  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 MyRectangle∷getDownLeft()const函数要求返回一个左下角的点坐标,因此使用语句MyPoint(up_left.getX(),down_right.getY());。
    (3)主要考查成员函数的定义,在MyRectangle类中已经声明double area()const,因此此处只要添加double MyRectangle∷即可。
转载请注明原文地址:https://kaotiyun.com/show/Gm8p777K
0

最新回复(0)