首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示坐标的类TestClass1,但类TestClass1的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)声明TestClass2类为TestClass1类的友元类,请
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示坐标的类TestClass1,但类TestClass1的定义并不完整,按要求完成下列操作,将类的定义补充完整。 (1)声明TestClass2类为TestClass1类的友元类,请
admin
2016-10-28
74
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示坐标的类TestClass1,但类TestClass1的定义并不完整,按要求完成下列操作,将类的定义补充完整。
(1)声明TestClass2类为TestClass1类的友元类,请在注释//********1********后添加适当的语句。
(2)完成类的构造函数,分别对成员变量赋值,请在注释//********2********后添加适当的语句。
(3)完成类的构造函数,分别对成员变量赋值,请在注释//********3********后添加适当的语句。
(4)完成计算平面上两点之间的距离函数Distance,计算的方法如下:X坐标之差的平方与Y坐标之差的平方之和的开方。请在注释//********4********后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
#include<iostream>
#include<cmath>
using namespace std;
C1ass TestClass1
{
//********1********
publiC:
//********2********
{
X=a;
Y=b:
}
//********3********
{
X=a;
Y=0j
}
void print()
{
cout<<"x="<<X<<endl;
cout<<"y="<<Y<<endl;
}
private:
float X,Y;
};
class TestClass2
{
public:
float DiStance(TeStClass1&p,TestClass1& q);
};
float TestClass2::DiStance
(TestClass1& p,TestClass1& q)
{
float result;
//********4********
cout<<result<<endl;
return result;
}
int main()
{
TestClass1 p(10,10),q(20);
TestClass2d;
d.Distance(p,q);
return0;
}
选项
答案
(1)添加语句:friend class TestClass2; (2)添加语句:TestClass1(float a,float b) (3)添加语句:TestClass1(float a) (4)添加语句:result=sqrt((p.X-q.X)*(p.X-q.X)+(p.Y-q.Y)(p.Y-q.Y));
解析
(1)题目1要求“声明TestClass2类为TeStClass1类的友元类”。C++中声明友元类的一般形式为friend类名:,所以这里补全“friend class TestClass2;”。
(2)题目2要求“完成类的构造函数,分别对成员变量赋值”。程序中TestClass1类的构造函数缺少定义,构造函数首部的一般格式为:构造函数名(类型1形参1,类型2形参2,……),所以在第2个标识下补全“TestClass1(float a,float b)”。
(3)题目3要求“完成类的构造函数,分别对成员变量赋值”。同理,第三个标识下补全“TestClass1(float a)”。
(4)题目4要求“完成计算平面上两点之间的距离函数Distance”。题目中已经给出了计算方法,X坐标之差的平方与Y坐标之差的平方之和的开方。利用C++中的开方函数sqrt补全函数中的两点之间的距离。即“result=sqrt((p.X-q.X)*(p.X-q.X)+(p.Y-q.Y)*(p.Y-q.Y));”。
转载请注明原文地址:https://kaotiyun.com/show/5KNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
C++中封装性、继承性和【】是面向对象思想的主要特征。
下列程序段的输出结果是#include<iostream.h>voidfun(int*x,int*y){cout<<*x<<*y;*x=3;*y=4;
对类的构造函数和析构函数描述正确的是()。
以下程序的执行结果是______。#include<iostream.h>classbase{public:virtualvoidwho(){cout<<"basec
若以下定义:structlink{intdata;structlink*next;}a,b,C,*p,*q;且变量a和b之间已有下图所示的链表结构。指针p指向
下列对字符数组进行初始化的语句中,正确的是()。
以下程序的执行结果是______。#include<iostream.h>int&max(int&x,int&y){return(x>y?x:y);}
下面有关for循环的正确描述是
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
在西部大开发中,2001年6月29日动工兴建的铁路是()
下颌息止住又称为A.韧带位B.牙位C.肌位D.正中颌位E.正中关系
毛果芸香碱的临床应用是
足月儿,生后7天。发现面部及前胸皮肤黄染,手足心不黄,母喂养,吃奶好,无发热,大便:黄色,每日2—3次,化验血清胆红素156μmoL/L(9mg/dl)。最恰当的诊断是
A、27B、8C、21D、18D每行前两个数字之差除以3等于第三个数,(63—9)÷3=(18)。
数组可看成是线性结构的一种推广,因此与线性表一样,可以对它进行插入、删除等操作。()
下面四句中暗含的哲理与《钉子》一诗主题不同的一句是:钉子丢失一个钉子,坏了一只蹄铁。坏了一只蹄铁,折了一匹战马。折了一匹战马,伤了一位将军。伤了一位将军,输了一场战斗。输了
20世纪80年代被认为是一个被自私的个人主义破坏了社会凝聚力的时代。但是,这一时代特征在任何时代都有。在整个人类历史发展过程中,所有人类行为的动机都是自私的,从人类行为更深层次看,即使是最无私的行为,也是对人类自身自私的关心。以下哪项最能揭示上述论证中所存
TheUnitedStatesisacountrymadeupofmanydifferentraces.Usuallytheyaremixedtogetherandcan’tbetoldfromoneanoth
A、Thequickeritvibrates,thegreaterthefrequencyofsounditproduces.B、Thesloweritvibrates,thehigherthefrequencyof
最新回复
(
0
)