问题 问答题

【说明】 本程序的功能是根据矩形左上角和右下角顶点坐标生成一个矩形对象,然后输出该矩形4个顶点的坐标,计算并输出该矩形的面积。 【C++代码】 #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{ (1) ;} double getY()const{ return y;} void show()const{ cout<<’(’<<x<<’,’<<y<<’)’;} }; class MyRectangle{ //表示矩形的类 MyPoint upleft;//矩形的左上角顶点 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; //返回矩形的面积 }; MyRectangle:: MyRectangle( (2) ): up left(p1),down_right(p2){} MyPoint MyRectangle::getUpRight()const { return MyPoint(down_right.getX(),up_left.getY()); } MyPoint MyRectangle::getDownLeft()const { return MyPeint( (3) ); } double (4) ::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.getDown Right().show(); (5) ; cout<<r.area()<<end1; return 0; }

答案

参考答案:

解析:(1)return x (2)MyPoint p1,MyPoint p2 (3)up_left.getX(),down_right.getY() (4)MyRectangle (5)r.getDownLeft().show()

[分析]: 本题考查C++语言的基本语法结构和计算矩形面积。 题目要求根据矩形左上角和右下角顶点(已知)坐标生成一个矩形对象,然后输出该矩形4个顶点的坐标,计算并输出该矩形的面积。要计算矩形的面积,首先应该求出其长和宽。其长等于矩形的右上角顶点的x坐标减去矩形的左上角顶点的x坐标;其宽等于矩形的右上角顶点的y坐标减去矩形的右下角顶点的y坐标。 程序中定义了一个表示平面坐标系中点的类MyPoint来实现对矩形的操作,在其中定义了两个成员变量和一些公有的成员方法。第(1)空在这个类的getX()方法中,结合整个程序来看,此方法应该是用来获得平面中一点的x坐标,从紧接着的下一个函数,我们也很容易判断出这个函数的作用,因此,此空答案为return x。 程序中又定义了一个表示矩形的类MyRectangle来实现对矩形的操作,在这个类中定义了很多对矩形进行各种操作的方法。第(2)空在其构造函数MyRectangle()中,是构造函数的参数,根据构造函数声明可以知道,其两个是MyPoint类型的两个点,结合其函数下面的语句可以知道,这两个点分别是p1和p2,因此,此空答案为MyPointp1,MyPointp2。 在知道矩形的左上角顶点和右—下角顶点后,那么矩形的左下角顶点x坐标就等于左上角顶点的x坐标,y坐标就等于右下角顶点的y坐标。第(3)空在方法getDownLeft()下面,此方法的作用是求出矩形左下角顶点坐标并返回,它是通过调用类MyPoint的构造函数来实现的,而类MyPoint的构造函数的两个参数是平面坐标系中点的x和y坐标。因此,此空答案为up_left.getX(),down_right.getY()。 根据代码中的内容我们可以知道,第(4)空所在的函数是实现求矩形的面积。而根据类MyRectangle中函数的声明,用来求面积的函数是它的成员函数,而 MyRectangle::area()则表示函数area()是类MyRectangle中的成员函数。因此,此空答案为MyRectangle。 第(5)空在主函数里面,在主函数里面生成了一个矩形对象r,并给出了这个对象的左上角顶点和右下角顶点坐标。根据题目要求,最后要输出各顶点的坐标值和这个矩形的面积,而程序中已经输出了除左下角顶点外的其他顶点的坐标值,因此,此空要用来输出左下角顶点的坐标值,程序中能用来输出的函数是show(),即此空答案为 r.getDownLeft().show()。

单项选择题
单项选择题