首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: numbor1=a numher2=a numbcr1=a number2_b 注意:错误的语句
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: numbor1=a numher2=a numbcr1=a number2_b 注意:错误的语句
admin
2019-01-19
40
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
numbor1=a
numher2=a
numbcr1=a
number2_b
注意:错误的语句在//******error******的下面,修改该语句即可。
1 #include<iostream.h>
2 class CMyClass
3 {
4 public:
5 //******error******
6 friend void SetValue(CMyClass obj,char c)
7 {
8 obj.number1=c;
9 obj.number2=c;
10 }
11 //******error******
12 void SetValue(CMyClass obj,char c1,char c2)
13 {
14 obj.number1=c1;
15 obj.number2=c2;
16 }
17 void display()
18 {
19 cout<<’’number1=’’<<number1<<end1;
20 cout<<’’number2=’’<<number2<<end1;
21 }
22 private:
23 char number1,number2;
24 };
25 void main()
26 {
27 CMyClass t;
28 SetValue(t,’a’);
29 t.display();
30 //******error******
31 t.SetValue(&t,’a’,’b’);
32 t.display();
33 }
选项
答案
(1)friend void SetValue(CMyClass&obj,char c) (2)void SetValue(CMyClass&obj,char c1,char c2) (3)t.SetValue(t,’a’,’b’);
解析
程序中定义了类CMyClass,含有两个成员变量char型变量number1和number2,友元SetValue()函数,成员函数SetValue()和display()数,SetValue()函数可改变number1和number2的值,display()函数在屏幕上打印number1和number2的值。
(1)根据程序的输出结果,函数SetValue(t,’a’)执行后,输出number1和number2的值均为a,在SetValue(t,’a’)执行中改变了对象t的成员number1和number2的值,故SetValue(t,’a’)的第_个参数传递的是引用,因此第1个标识下应改为“friendvoid SetValue(CMyClass&obj,char c)”。
(2)主函数中t.SetValue(t,’a’,’b’)后调用t的display()函数,在屏幕上打印,“numberl=a number2=b”,可知在SetValue(CMyClass obj,char c1,char c2)中改变了对象t的成员number1和number2的值,因此第一个参数传递为引用方式,故第2个标识下应改为“voidSetValue(CMyClass& obj,char c1,char c2)”。
(3)由2可知,第3个标识下是调用函数SetValue(CMyClass& obj,char c1,char c2)函数,函数的第_个参数为引用,直接使用变量名即可,因此第3标识下的引用使用错误,应改为“t.SetValue(t,’a’,’b’);”。
转载请注明原文地址:https://kaotiyun.com/show/rgAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序执行后的输出结果是#included<string.h>main(){chararr[2][4];strcpy(arr,"you");strepy(arr[1],"me");arr[0][3]=’&’;
完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
以下叙述中正确的是
下面关于for循环的正确描述是
在C++中的实型数据分为三种类型,即单精度float、双精度double和______。
以下叙述中不正确的是
下列叙述中错误的是
若要在程序文件中进行标准输入输出操作,则必须在开始的#include命令中使用头文件______。
用树状结构表示实体之间联系的模型是
随机试题
呼吸衰竭的血气诊断标准是
男性,8岁,发热1天,神志不清并抽搐1次,于7月20日来诊。体检:体温40℃,脉搏128次/分,血压70/50mmHg,浅昏迷,颈无抵抗,结膜无充血。血WBC15×109(上标)/L,中性85%。为明确诊断最重要的检查是
治疗风劳病代表方剂是
A、1岁之内患儿患化脓性脑膜炎易合并B、结核性脑膜炎C、脑膜炎双球菌脑膜炎D、新生儿化脓性脑膜炎E、脑炎链球菌性脑膜炎硬膜下积液
当吹填区水深满足()的满载吃水,并具有通航条件时,可采用水下抛填的方法进行水下部分填筑。
以下各项中,()是对海关稽查正确的表述。
Themassmediainfluencesall【C1】______ofourlives,includingthelearningof【C2】______roles.Newspapersandmagazines,televis
导游人员应具备较高的导游技能,主要包括()。
Waterisakindofchemicalsubstance.
TheTransactionoftheMentalHealthyQuestionofUniversityStudentLet’sbefrank:collegecanbetough.Accordingtoa20
最新回复
(
0
)