首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
44
问题
使用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>classSample{intx,y;public:Sample(){x=y=0;)Sample(inta,intb)
请定义一个函数名为A,返回值为int,没有参数的纯虚函数的定义是______。
对于类定义classA{public: virtualvoidfunc1(){} voidfunc2(){}};classB:publicA{publi
为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为
以下不使用线性结构表示实体之间联系的模型的是()。
在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快序执行速度,则应该选用()。
随机试题
在可能发生无焰火灾、在火焰出现前有浓烟扩散、探测器的镜头易被污染、探测器的“视线”(光束)易被遮挡、探测器易受阳光或其他光源直接或间接照射、在正常情况下有明火作业及X射线与弧光影响等情形的场所不宜选用_______。
下列哪一项不是淋证的主症
某企业应付账款科目期末贷方余额45000元,其中应付A公司25000元,应付B公司20000元;预付账款科目期末贷方余额40000元,其中预付C公司45000元;(贷方余额),预付D公司5000元(借方余额)。该企业期末资产负债表中预付账款项目的金额为(
ManyyoungpeopleintheWestareexpectedtoleave________couldbelife’smostimportantdecision—marriage—almostentirelyu
下列哪项不是八正散主治证的症状
青霉素皮试结果:局部皮肤红肿,直径1.2cm,无自觉症状,下列处理正确的是
系统管理员不可以执行的操作为()。
期货公司为债务人的,下列关于人民法院保全或执行的陈述,正确的有()。[2015年5月真题]
甲骨文是刻在()上的文字,反映了商朝统治者占卜及当时的社会生活状况。
Manstillhasalottolearnaboutthemostpowerfulandcomplexpartofhisbody—thebrain.Inancienttimesmendidnott
最新回复
(
0
)