请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件pmj3,该工程中包含一个源程序文件proj3.cpp,其中定义了用于表示平面坐标系中的点的类NyPoint和表示圆形的类NyCircle;程序应当显示: (1,2),5,31.4159,78

admin2015-06-27  11

问题 请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件pmj3,该工程中包含一个源程序文件proj3.cpp,其中定义了用于表示平面坐标系中的点的类NyPoint和表示圆形的类NyCircle;程序应当显示:
(1,2),5,31.4159,78.5398
但程序中有缺失部分,请按照以下提示,把缺失部分补充完整:
(1)在“//**1******found****”的下方是构造函数的定义,它用参数提供的圆心和半径分别对cen和rad进行初始化。
(2)在“//**2******found****”的下方是非成员函数perimeter的定义,它返回圆的周长。
(3)在“//**3******found****”的下方是友元函数area的定义,它返回圆的面积。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。
//proj3.cpp
#include
#include
usingnamespacestd;
classMyPoint{//表示平面坐标系中的点的类
doublex;
doubley;
public:
MyPoint(doublex,doubley)
{this->x=x;this->y=y;}
doublegetX()const{returnx;}
doublegetY()const{returny;}
voidshow()const
{cout<<’(’<};
classMyCircle{//表示圆形的类
MyPointcen;//圆心
doublerad;//半径
public:
MyCircle(MyPoint,double);
MyPointcenter()const{return
cen;}//返回圆心
doubleradius()const{returnrad;}
//返回圆半径
frienddoublearea(MyCircle);//
返回圆的面积},
//**1************found**********
MyCircle::MyCircle(MyPointp,double
r):cen(p),________{}
#definePI3.1415926535
doubleperimeter(MyCirclec)
//返回圆c的周长
{//**2************found**********
returnPI*________;
}
//**3************found**********
doublearea(________)//返回圆a的面积
{
returnPI*a.rad*a.rad;
}
intmain()
{
MyCircleC(MyPoint(1,2),5.0);
C.center().show();
cout<<’,’<return0;
}

选项

答案(1)rad(r) (2)2*c.radius() (3)MyCircle a

解析 (1)主要考查考生对构造函数的掌握,使用成员列表初始化给rad赋初始值。
(2)主要考查考生对成员函数的掌握,函数功能为返回圆c的周长。要返回圆的周长,应利用公式PI*2*c.radius()完成。
(3)主要考查考生对成员函数的掌握,因为函数功能为返回圆a的面积,所以函数的形参应该为MyCircle a。
转载请注明原文地址:https://kaotiyun.com/show/i1BD777K
0

最新回复(0)