首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.zpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: number1=a number2=a number1=a number2=b 注意:错误的语句
使用VC6打开考生文件夹下的源程序文件modi1.zpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: number1=a number2=a number1=a number2=b 注意:错误的语句
admin
2017-03-22
36
问题
使用VC6打开考生文件夹下的源程序文件modi1.zpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
number1=a
number2=a
number1=a
number2=b
注意:错误的语句在//********error********的下面,修改该语句即可。
#include
class CMyClass
{
public:
//********error********
friend void SetValue(CMyClass
obj,char c)
{
obj.numberl=c;
obj.number2,=c;
}
//********error********
void SetValue(CMyClass obj,
char c1,char c2)
{
obj.numberl=c1;
obj.number2=c2;
}
void display()
{
cout<<"number1="<
<
cout<<"number2="<
<
}
private:
char number1,number2;
};
Void main()
{
CMyClass t;
SetValue(t,’a’);
t.display();
//********error********
t.SetValue(&t,’a’,’b’);
t.display();
}
选项
答案
(1)friend void SetValue(CMyClass&obj,char c) (2)void SetValue(CMyClass&obj,charc1,char c2) (3)t.SetValue(t,’a’,’b’);
解析
(1)根据程序的输出结果,函数SetValue(t,’a’)执行后,输出number1和number2的值均为a,在SetValue(t,’a’)执行中改变了对象t的成员number1和number2的值,故SetValue(t,’a’)的第一个参数传递的是引用,因此第1个标识下应改为“friendvoid SetValue(CMyC lass&obj,char C)”。
(2)主函数中t.SetValue(t,’a’,’b’)后调用t的display()函数,在屏幕上打印,“number1=a number2=b”,可知在SetValue(CMyClass obj,char c1,char c2)中改变了对象t的成员numberl和number2的值,因此第一个参数传递为引用方式,故第2个标识下应改为“voidSetValue(CMyClass&obj,char c1,char c2)”。
(3)由2可知,第3个标识下是调用函数SetValue(CMyClass&oN,char c1,char c2)函数,函数的第一个参数为引用,直接使用变量名即可,因此第3标识下的引用使用错误,应改为“t.SetValue(t,’a’,’b’);”。
转载请注明原文地址:https://kaotiyun.com/show/inAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<iostream>usingnamespacestd;intmain(){intm[5],n[5],*px,*py,k;px=m;py=n
Jackson方法是一种面向【】的结构化方法。
若有如下程序:#include<iostream>usingnamespacestd;ints=O;classsample{staticintn;public:sample
下列关于关系运算的叙述中正确的是
虚函数必须是类的【】。
在下面横线上填上适当的语句,完成程序。#include<iostream>usingnamespacestd;classBase{intx;public:
下面程序的输出结果是【】。#include<iostream>usingnamespacestd;intx;voidfunA(int&,int);voidfunB(int,int&
下列定义中p指向的地址可更改,但*p不能够更改的是
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
有如下的函数定义:intXfun(int*a,intn){intX*a;for(int*pa=a+1;paif(*pa>x)x=*pa;retumx;}若在执行了语句:intx[5]
随机试题
某动物个体的性腺同时具有睾丸和卵巢组织,这种情况属于
A.阿奇霉素B.万古霉素C.克林霉素D.氟康唑E.头孢哌酮耐甲氧西林的金黄色葡萄球菌引起的肺炎宜选用()。
以下关于防护栏杆的安全规定,哪一条与规范不符?
根据《中华人民共和国会计法》的规定,主管全国的会计工作的是()。
—Youdon’tlikethisoilpainting,doyou?—______.Ilikeitbetter______Ilookatit.
2016年9月29日,中共中央在北京举行学习《胡锦涛文选》报告会。习近平在会上发表重要讲话时强调,当前要把学习《胡锦涛文选》摆在党的()和党员、干部理论学习培训的重要位置。
世人心灵深处均多少缺乏安全感,都有克服这种与生俱来的不安全感的需要,人们将这种由此形成的本能的渴望称为“救赎”。西方文化反映了游牧民族先民的感受。因而当现有的水草用罄时,要找出路永远是寻找外在的绿洲。相反地,中国文化反映了大陆性农民祖先的感受,若今年收成不
在表达式中,为了与一般的数值数据区分,Access将文本型数据用双撇号括起来,在日期/时间型数据两端各加了一个()。
MarkTwain’sletterabouttheStatueofLiberty______.
TheholidayshoppingseasongotofftoaflyingstartovertheThanksgiving(感恩节)weekendintheU.S.Retailers(零售商)attracted
最新回复
(
0
)