综合应用题使用VC6打开考生文件夹下的工程test11_3。此工程包含一个test11_3.cpp,其中定义了类CPosition,但该类的定义都并不完整。请按要求完成下列操作,将类CPosition的定义补充完整。(1)在类定义外完成重载的两个构造函数CPosition()和CPosition(double dx, double dy),其中前者为不带参数的构造函数,使CPosition对象的默认值为x=0,y=0,后者为带参数的构造函数,把数据成员x和y分别初始化为参数dx和dy的值。请在注释"// ** 1 ** "之后添加适当的语句。(2)在类体中添加函数move(double ax, double ay)的定义,使得点的坐标x和y分别移动ax和ay个单位,请在注释"// ** 2 ** "之后添加适当的语句。(3)完成函数double distance(double bx, double by)的定义,该函数返回*this和点(bx,by)的距离,请在注释"// ** 3 ** "之后添加适当的语句。注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。源程序文件test11_3.cpp清单如下:#include
参考答案:(A)CPosition::CPosition()(B)void move(double ax, double ay){x += ax;y += ay;};(C)return sqrt(pow(x-bx, B) + pow(y-by, B));
解析:本题主要考查考生对于类的定义和重载构造函数的掌握情况。在(3)中使用了基本的数学函数sqrt(x)求x的开方,pow(x,n)函数是求x的n次方。