首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
使用VC6打开考生文件夹下的源程序文件modi3.cpp,通过把类Distance定义为类Point的友元类,来实现计算两点之间距离的功能。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)把类CDistance定义为类CPoi
admin
2019-01-19
37
问题
使用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********之后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
1 #include<iostream>
2 #include<cmath>
3 using namespace std;
4 class CPoint
5 {
6 publiC:
7 //********1********
8
9 //定义类Point的构造函数
10 //********2********
11
12 void display() { cout<<’’x=’’<<x<<end1;cout<<’’y=’’<<y<<end1;}
13 private:
14 float x,y;
15 };
16 class CDistance
17 {
18 public:
19 float length(CPoint &p,CPoint &q);
20 };
21 float CDistance::length(CPoint&pPoint,CPoint&qPoint)
22 {
23 //********3********
24
25 }
26 int main()
27 {
28 CPoint mPoint(10,10),nPoint(40,50);
29 mPoint.display();
30 nPoint.display();
31 CDistance len;
32 cout<<len.length(mPoint,nPoint)<<end1;
33 return 0;
34 }
选项
答案
(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));
解析
程序当中定义了类CPoint和CDistance,CPoint类含有成员变量x和y,display()函数输出x和y的值;类CDistance只有成员函数length(CPoint &p,CPoint &q),且类CDistance为类CPoint的友元类。
(1)第1个标识下补充定义类CDistance为类CPoint的友元类,声明友元类的格式为:friend<类名>;,故第1个标识下应添加“friend classCDistance;”。
(2)类CPoint的构造函数完成给私有数据成员x和y的初始化,两个参数的缺省值都为0,因此参数含有默认值0,故第2个标识下应添加“CPoint(floata=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个标识下应添加“returnsqrt((pPoint.x-qPoint.x)* (pPoint.x-qPoint.x)+(pPoint.y-qPoint.y)*(pPoint.y-qPoint.y));”。
转载请注明原文地址:https://kaotiyun.com/show/qgAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
一个C++程序由函数A(),B(),C()和函数P()构成,在函数A()中分别调用了函数B()和函数C(),在函数B()中调用了函数A(),且在函数P()中也调用了函数A(),则可以说
将一个函数声明为一个类的友元函数必须使用关键字______。
数据库系统的主要特点为数据集成性、数据的高______和低冗余性、数据独立性和数据统一管理和控制。
关系数据库的关系演算语言是以______为基础的DML语言。
下列程序用于将源文件中的字母进行大小写转换,while的条件是______。#include<iostream.h>#include<fstream.h>#include<iomanip.h>voidmain()
当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的______。
在最坏情况下,冒泡排序所需要的比较次数为______。
下列数据结构中按“先进先出”原则组织数据的是
设一棵二叉树的中序遍历结果为ABCDEFG,前序遍历结果为DBACFEG,则后序遍历结果为______。
下列数据结构中,属于非线性结构的是
随机试题
ForanincreasingnumberofstudentsatAmericanuniversities,oldissuddenlyin.Thereasonisobvious:thegrayingofAmerica
城市规划实施体系的目的是()。
监理工程师进行质量监理的依据,根据监理的范围及性质可以分为以下两类:共同性的依据和( )依据。
下列国家中,采用超级金融监管模式的是()。
高铁时代的到来,人们可以“在广州喝早茶,到长沙听笑话,再到武汉赏樱花”;“上午在西安吃泡馍,下午到嵩山看少林”。这说明科学技术的进步能够()。
什么是遗传素质?
如果某公司中小道消息很多,而正式渠道的消息较少,这意味着该公司()。
分析下述论证中存在的缺陷和漏洞,选择若干要点,写一篇600字左右的文章,对该论证的有效性进行分析和评论。(论证有效性分析的一般特点是:概念特别是核心概念的界定和使用是否准确并前后一致,有无各种明显的逻辑错误。论证的论据是否成立并支持结论,结论成立的条件是否
经济全球化是整个世界经济发展的主要潮流,使得世界各国各地区的联系日益紧密。经济全球化的表现包括
A、Greetings.B、Beingtoolong.C、Reiteratingwhat’sintheresume.D、Brilliantlanguage.A
最新回复
(
0
)