首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2020-06-29
40
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)把类CDistance定义为类CPoint的友元类。请在注释//********1********之后添加适当的语句。
(2)定义类CPoint的构造函数,完成给私有数据成员x和y的赋值,并且两个参数的缺省值都为0。请在注释//********2********之后添加适当的语句。
(3)完成类CDistance的成员函数length(Point&pPoint,Point&qPoint)的定义,并在其中计算点p、q之间的距离,并且返回结果。假设两点之间的距离distance=sqrt((pPoint.x-qPoint.x)*(pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y))。请在注释//********3********之后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
#include
using namespace std;
class CPoint
{
public:
//********1********
//定义类Point的构造函数
//********2********
void display() { cout<<
"x="<
<
private:
float x,y;
};
Class CDistance
{
public:
float length(CPoint&p,
CPoint &q);
};
float CDistance::length
(CPoint&pPoint,CPoint&qPoint)
{
//********3********
}
int main()
{
CPoint mPoint(10,10),
nPoint(40,50);
mPoint.display();
nPoint.display();
CDistance len;
cout<
nPoint)<
return 0;
}
选项
答案
(1)添加语句:friend class CDistance; (2)添加语句:CPoint(float a=0,float b=0){x=a;y=b;} (3)添加语句:return sqrt((pPoint.x-qPoint.x)*(pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y));
解析
(1)第1个标识下补充定义类CDistance为类CPoint的友元类,声明友元类的格式为:friend<类名>;,故第1个标识下应添加“friend class CDistance;”。
(2)类CPoint的构造函数完成给私有数据成员x和Y的初始化,两个参数的缺省值都为0,因此参数含有默认值0,故第2个标识下应添加“CPoint(float a=0,float b=0){x=a;y=b;}”。
(3)类CDistance的成员函数length(CPoint &pPoint,CPoint&qPoint)返回点p、q之间的距离,可由公式distance=sqrt((pPoint.x-qPoint.x)*(pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y))计算求得,第3个标识下应添加“return sqrt((pPoint.X—qPoint.x)* (pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y));”。
转载请注明原文地址:https://jikaoti.com/ti/6kl0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有函数原型声明为"voidfun(int*x,int&y,intz=3);",下列叙述中,错误的是
已知int型变量y的初值是5,但在执行语句"f(y);"后,y的值被改变,因此该语句所调用函数的原型是
要定义整型数组x,使之包括初值均为1的三个元素,下列语句正确的是
在对函数进行原型声明时,下列语法成分中不需要的是
面向对象方法中,实现对象的数据和操作结合于统一体中的是
已知函数f的原型是voidf(int*a,long&b);,变量v1、v2的定义是:intv1;longv2;下列调用语句中正确的是()。
有如下类定义:classAA{inta;Public:AA(intn=0):a(n){}};classBB:publicAA{public:BB(intn)________________};其中横线处的缺失部分是(
下列关于函数参数的叙述中,正确的是
派生类的成员函数不能访问的基类成员是
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
随机试题
蔬菜清洗时应根据季节、蔬菜品种和用途的不同,分别采用不同的洗涤方法。()
压缩机油可分为矿物油型压缩机油和()压缩机油两大类。
药动学的研究领域包括()。
(2010年)已知质点沿半径为40cm的圆周运动,其运动规律为:s=20t(s以cm计,t以s计)。若t=1s,则点的速度与加速度的大小为()。
根据我国《建设工程质量管理条例》的规定,下列行为合法的是()。
在麦可卡(Mckeachie)等人的学习策略分类体系中,认知策略针对的对象是
某个年级有两个班,共计120人,如果把甲班的10名学生分配到乙班,则乙班人数变为甲班的2倍,则甲班实际人数为()。
Rnd函数不可能产生的值是( )。
Nowthenextthingyoumustdowhenyoulistenisthatyouneedto【T1】______thatthelecturerexpectsyoutoadd.Alllecturers
Whatexactlyisalie?Isitanythingwesaywhichweknowisuntrue?Orisitsomethingmorethanthat?Forexample,【B1】______a
最新回复
(
0
)