首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
34
问题
使用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://kaotiyun.com/show/kJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在下面的运算符重载函数的原型中,错误的是()。
关于运算符重载,下列表述中正确的是()。
下列关于信息和数据的叙述不正确的是()。
当需要将一个函数boolisnumber(charc)声明为内联函数时,则此内联函数的函数原型为()。
有如下的对类“X”的说明,其中______是错误的。classX{
在长度为n的顺序表的第i(1≤i≤n+1)个位置上插入一个元素,元素的移动次数为______。
针对数组定义intdata[10];,下列表述中错误的是______。
结构化程序设计的一种基本方法是【】法。
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1)中,在下面横线处填上适当语句,完成栈类模板的定义。template<classT>class
类模板的模板参数()。
随机试题
品德是由道德认识、道德情感、道德意志、道德行为等四个要素构成的综合体。下列关于四者关系的表述,正确的有()。
简述上市公司增发的条件。
下列有关氯霉素抗菌作用描述不正确的是
附子回阳救逆常配伍的药物是
图17—4—1所示为四种结构面与边坡关系的赤平极射投影图,试判断,属于不稳定边坡的是()。(AMC为边坡的投影,1、2、3、4为结构面投影)
花园里,同学们都纷纷说了自己喜欢的花,这时全校闻名的调皮大王李刚发话了:“老师,我最喜欢的是仙人掌,它虽然全身长满了刺,但它的生命力最旺盛,而且刺丛中还能开出美丽的花儿呢!”他的话立即遭到同学们的反驳。“你们就看到它的刺了!你仔细看看人家刺中也有花,也
安德森将知识分为两种,即陈述性知识和程序性知识。学生冰冰可以将全国各省、直辖市和自治区的名称及简称按照不同的顺序说出来,冰冰掌握的知识是程序性知识。()
去年以来,全国许多主要城市的房地产价格出现不同幅度的增长,有些城市甚至创出近期新高。这是自去年国家出台一系列调控措施后,房地产价格再次出现上涨。这也使社会舆论再次就经济是否过热展开了争论。在此背景下,有人认为,国家去年出台的宏观调控措施未达到预期效果。以下
某市要求城管人员每天巡查,在巡查过程中至少为市民做一件好事,不分事大事小。有人支持,有人质疑。你怎么看?
∫-ππ=________.
最新回复
(
0
)