应用题
请使用VC6或使用【答题】菜单打开proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,其中定义了用于表示平面坐标系中的点的类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 downright; //矩形的右下角顶点
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;
}