首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: number1=a number2=a number1=a number2=b 注意:错误的语句
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: number1=a number2=a number1=a number2=b 注意:错误的语句
admin
2015-05-30
32
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
number1=a
number2=a
number1=a
number2=b
注意:错误的语句在//********error********的下面,修改该语句即可。
1 #include
2 class CMyClasS
3 {
4 public:
5 //******error******
6 friend void SetValue(CMyClassobj,char C)
7 {
8 obj.numberl=C ;
9 obj.number2=C ;
10 }
11 //******error******
12 void SetValue(CMyClass obj,char C1,char c2)
13 {
14 obj.numberl=cl;
15 obj.number2=c2;
16 }
17 void display()
18 {
19 cout<<"numberl="<
20 cout<<"number2="<
21 }
22 private:
23 char numberl|number2;
24 } ;
25 void main()
26 {
27 CMyClass t,
2 8 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 cl,char c2) (3)t.SetValue(t,’a’,’b’);
解析
程序中定义了类CMyClass,含有两个成员变量char型变量numberl和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个标识下应改为“friend void SetValue(CMyClass&obj,char c)”。
(2)主函数中t.SetValue(t,’a’,’b’)后调用t的display()函数,在屏幕上打印,“numberl=a number2=b”,可知在SetValue(CMyClass obj,char cl,char c2)中改变了对象t的成员numberl和number2的值,因此第一个参数传递为引用方式,故第2个标识下应改为“void SetValue(CMyClass&obj,char cl,char c2)”。
(3)由2可知,第3个标识下是调用函数SetValue(CMyClass&obj,char cl,char c2)函数,函数的第一个参数为引用,直接使用变量名即可,因此第3标识下的引用使用错误,应改为“t.SetValue(t,’a’,’b’);”。
转载请注明原文地址:https://www.kaotiyun.com/show/kJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面不是派生类对基类的继承方式的是()。
类MyClass的定义如下:classMyClass{public:MyClass(){}MyClass(inti){value=newint(i);}int*value;
下面程序的输出结果是()。#include<iostream>usingnamespacestd;intmain(){intn=10;while(n>7){n--;cout<<
下列选项中不属于结构化程序设计方法的是()。
在下面程序运行#include<iostream.h>intfunc(chars[]){intlength=0;while(*(s+length))length++;returnlength
对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R。若在逻辑上看成一个环,则队列中元素的个数为______。
线性表最常用的操作是存取第i个元素及其前趋的值,则采用______存储方式节省时间
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1)中,在下面横线处填上适当语句,完成栈类模板的定义。template<classT>class
当将E-R模型转换为关系模型时,对于两实体间m:n联系,必须对“联系”单独建立______,用来联系双方实体。
已知在函数func()中语句this->ff=0;与语句ff=0;的效果完全相同。对于这一现象,下列表述中错误的是()。
随机试题
()是企业在选定的行业中投放资源,提供特定产品或劳务,满足目标市场特定需求,迎接特定竞争,施展特定战略,追求理想效益的经营场所。
设总体X服从区间[1,θ]上的均匀分布,其中θ未知,且θ>1,x1,x2,…,xn为来自总体X的一个样本,为样本均值.求θ的矩估计.
根据尿道口异常。尿道下裂可分哪些类型
施工组织设计的核心部分是( )。
【背景资料】某施工单位承接了某一级公路M合同段路面施工任务,起点桩号K16+000,终点桩号K37+300。路面面层为26cm厚C30水泥混凝土,采用滑模机械摊铺施工。施工单位根据施工现场的具体条件,通过方案比较后绘制了施工平面布置示意图如下:图中拌
下列属于经济法部门的有()。
AfewyearsagoIhadan"aha!"momentregardinghandwriting.Ihadinmyhandasheetofpaperwithhandwritteninstructio
Whenanimportantholidaycomes,Iusuallythinkofwhatgiftstobuyorprepareformyfamilymembers.Itistheactitselfrat
38.结合材料回答问题:材料1“东亚许多国家都使用筷子,用筷子的人都知道,一根筷子很难吃着东西,两根筷子一起用才能夹到食物,一把筷子捆在一起就不易折断。”这是李克强总理在第八届东亚峰会上的形象比喻。李克强总理提出中国一东盟在防灾救灾、网络安全、
A、Mr.Johnson’sideasarenonsense.B、HequiteagreeswithMr.Johnson’sviews.C、Mr.Johnsonisgoodatexpressinghisideas.D
最新回复
(
0
)