首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoint的友
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoint的友
admin
2019-06-05
42
问题
使用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<iostream>
#include<cmath>
using namespace std;
class CPoint
{
public:
//********1********
//定义类Point的构造函数
//********2********
void display(){cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;}
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<<len.length(mPoint,nPoint)<<endl;
return0;
}
选项
答案
(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/GqA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
前后件关系在数据存储结构中,除了要存储数据,还要存储数据的前后件关系,对于顺序存储的数据结构,前后件之间的关系是通过存储空间的位置来实现的,而对于链式存储来说,数据元素之间的前后件关系是通过指针来实现的.
假定TestClass为一个类,则该类的拷贝构造函数的声明语句为()。A)TestClass(TestClassx)B)TestClass&(TestClassx)C)TestClass(TestClass*x)D)TestC
下面关于常成员函数的说法中正确的是()。A)常成员函数不能修改任何的数据成员B)常成员函数只能修改一般的数据成员C)常成员函数只能修改常数据成员D)常成员函数只能通过常对象来调用
下列程序执行后,输出的结果是()。intx=-5,y=0;while(++x)y++;cout<<y<<end1;A)1B)2C)4D)5
函数Min的功能是返回具有n个元素的数组array中的最小值。请将横线处的缺失部分补充完整,使得程序的输出结果为1.24。#include<iostream>usingnamespacestd;template<typename
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。A)cppB)exeC)objD)lik
C++系统预定了4个用于标准数据流的对象,下列选项中不属于此类对象的是()。A)coutB)cinC)cerrD)cset
已知类Ben中将二元运算符“/”,重载为友元函数,若c1、c2是Ben的两个对象当使用运算符函数进行显式调用时,与表达式c1/c2等价的表示为______。
执行语句序列“intk=0;dok++;while(k*k<20);”后,k的值为______。
若目前D盘根目录下并不存在test.txt文件,则下列打开文件方式不会自动创建test.txt文件的是()。A)ifstreamfin;fin.open("d:\\test.txt",ios_base::in);B)fstream
随机试题
氢氧化钾的摩尔质量为()。
支气管哮喘的临床表现特点是
【案例】男性,29岁。因心悸气促1天入院。既往有心脏病史。体检:心率170次/分,胸骨左缘第3肋间闻及4/6级收缩期杂音,伴震颤,P2亢进。心电图如图19、图20所示,患者应考虑诊断是什么
古代“子时”指的是()。
法国某公司依1958年联合国《承认与执行外国仲裁裁决公约》,请求中国法院承认与执行一项国际商会国际仲裁院的裁决。依据该公约及中国相关司法解释,下列哪一表述是正确的?(2013年卷一38题,单选)
重要的民用建筑及高层建筑的屋面防水,应按哪一项防水等级和设防要求设计?[1999年第076题][2001年第082题][2006年第076题]
建筑楼面的主要作用包括以下()项。
项目质量控制体系是()的质量控制工作体系。
旅游者欲购买一块地毯,因为暂无货,请导游人员带为购买并托运,对旅游者的这类要求,导游人员一般应婉拒。()
以下程序的执行结果是______#include<iostrearn.h>intf(intb[],intn){inti,r=l;for(i=0;i<n;i++)r=r*b[i];retu
最新回复
(
0
)