网友您好, 请在下方输入框内输入要搜索的题目:
●试题五
阅读下列程序说明和C++代码,将应填入(n)处的字句写在答卷的对应栏内。
【说明】
①在类体中添加函数move(double ax, double ay)的定义,使得点的坐标x和y分别移动ax和ay个单位。
②在类定义外完成重载的两个构造函数CPosition()和CPosition(double dx, double dy),其中前者为不带参数的构造函数,使CPosition对象的默认值为x=0,y=0,后者为带参数的构造函数,把数据成员x和y分别初始化为参数dx和dy的值。
③完成函数double distance(double bx, double by)的定义,该函数返回*this和点(bx,by)的距离。
注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。
源程序文件test5.cpp清单如下:
#include<iostream.h>
#include <math.h>
class CPosition
{
public:
CPosition();
CPosition(double dx, double dy);
double getx();
double gety();
(1)
double distance(double bx, double by);
private:
double x;
double y;
};
(2)
{
x=0; y=0;
}
CPosition::CPosition(double dx, double dy)
{
x=dx; y=dy;
}
double CPosition::getx()
{
return x;
}
double CPosition::gety()
{
return y;
}
double CPosition::distance(double bx, double by)
{
(3)
}
void main()
{
double a,b;
cout << "Input x, y position of a point: ";
cin >> a >> b;
CPosition psA(a, b);
cout << "Input x, y position of another point: ";
cin >> a >> b;
cout << "The distance is " << psA.distance(a,b) <<endl;
}
参考答案