首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
47
问题
使用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全国计算机二级
相关试题推荐
阅读以下程序#include<iostream.h>voidmain(){charline[10];cin>>line;cout<<line<<endl;}如运行时输入Thisise
在进行了任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态,其中只能用于检测输入操作的函数的函数名是
已知语句intm=10;则下列表示引用的表示中正确的是
下列for语句的循环次数为______。for(inta=0,b=1;b&&a<5;a++);
下面说法正确的是()。
C++语言中关键字运算符有new、delete和______。
符合结构化原则的三种基本控制结构为:顺序结构,选择结构和______。
下面程序的运行结果是#include<iostream.h>intfun(inta[],intn){intresult=1;for(inti=1;i<n;i++)res
磁盘文件操作中,打开磁盘文件的访问方式中以追加方式打开文件的
下列叙述中正确的是()。
随机试题
f(x)=-cosπx+(2x-3)3+(x-1)在区间(-∞,+∞)上零点个数为()
在分析中,下列情况会导致系统误差的是()。
若要用二进制数表示十进制数的0到999,则至少需要______位。
有关急性心肌梗死室间隔破裂穿孔的临床特点正确的是
A、麦角菌科B、多孔菌科C、棕榈科D、伞形科E、百合科茯苓来源于
()不属于组织计划制定要注意的问题。
【背景资料】某项目部承建居民区施工道路工程,制定了详细的交通导行方案,统一设置了各种交通标志、隔离设施、夜间警示信号,沿街居民出入口设置了足够的照明装置。工程要求设立降水井,设计提供了地下管线资料。施工中发生如下事件:事件一:由于位置狭窄,部分围挡
按照审计准则的规定,下列有关总体审计策略和具体审计计划的说法中表述正确的有()。
甲被宣告死亡后,其妻乙改嫁丙。在丙死亡1年后,甲父丁得知甲仍然在世,经过通讯联系后,遂向法院申请撤销死亡宣告。死亡宣告撤销后,甲、乙的婚姻关系()。
A.equippingB.exploreC.presentD.realisticE.noticeablyF.growingupG.interacting
最新回复
(
0
)