首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: number1=a number2=a number1=a number2=b 注意:错误的语句
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: number1=a number2=a number1=a number2=b 注意:错误的语句
admin
2015-07-20
42
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
number1=a
number2=a
number1=a
number2=b
注意:错误的语句在 ∥********error********的下面,修改该语句即可。
#include
class CMyClass
{
publiC:
∥********error********
friend void SetValue(CMyClass
obj,char c)
{
obj.number1=c;
obj.number2=c;
}
∥********error********
void SetValue(CMyClass obj,
char c1,char c2)
{
obj.numberl=cl;
obj.number2=c2;
}
void display()
{
cout<<“numberl=”<
<
cout<<“nHmber2=”<
<
}
private:
char numberl,number2;
};
void main()
{
CMyClass t ;
SetValue(t‘a’);
t.display();
∥********error*******
t.SetValue(&t,‘a’,‘b’);
t.di splay();
}
选项
答案
(1)friend void SetValue(CMyClass&obj,char C) (2)void SetValue(CMyClass&obj,char c1,char c2) (3)t.SetValue(t,‘a’,‘b’);
解析
(1)根据程序的输出结果,函数SetValue(t,‘a’)执行后,输出numberl和number2的值均为a,在SetValue(t,‘a’)执行中改变了对象t的成员numberl和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 c1,char c2)”。
(3)由2可知,第3个标识下是调用函数SetValue(CMyClass&obj,char cl,char c2)函数,函数的第一个参数为引用,直接使用变量名即可,因此第3标识下的引用使用错误,应改为“t.SetValue(t,‘a’,‘b’);”。
转载请注明原文地址:https://www.kaotiyun.com/show/n3Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序中,while循环的循环次数是()。main(){inti=O;while(i<10){if(i<1)continue;if(i==5)b
下面关于虚函数的描述中正确的是()。
以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。#defineN3#defineM3intselect(inta[N][M],in
下面的类中定义了一个枚举类型,请完成下面的程序。classBase{public:enumWeek{Sum,Mon,Tue,Wed,Thu,Fri,Sat};Weeka;}
重载的流运算符函数经常定义为类的【】函数。
在关系数据库中,把数据表示成二维表,每一个二维表称为【】。
用户的数据视图,也就是用户所见到的数据模式,是______。
若有以下定义及初始化语句:inti=100;int*ip=&i;intk=*ip;并假设整型数i的地址为0x12345678,指针中的地址为0x21000000,则k的值为【】。
下面程序的输出是()。#defineN3#defineM(n)((N+1)*n)#include<iostrearn.h>voidmain(){intz=2*(N+M(5+1));cout<<z<<end1;}
下列运算符不能用友元函数重载的是()。
随机试题
∫sin2xdx=()
A.宗气内虚B.宗气外泄C.心肺气绝D.心阳不足按虚里穴,其搏动应衣,为
戴无菌手套时,只允许没戴手套的手接触
甲国为发达国家,乙国为发展中国家。根据国际环境法原则和规则,关于温室气体的排放,下列哪一选项是正确的?()
某市检察院以刘某犯有抢劫罪向市中级法院提起公诉,法院受理后认为该案不需要判处无期徒刑以上刑罚。对此案,该法院下列做法中正确的是:(2003—卷二—94,任)
当工业管道管径不变时,沿程阻力系数A在光滑区随粗糙度的增加而()。
在()情况下,熊市套利可以获利。
中华全国学生联合会是“五四”运动的直接产物。()
设A=(α1,α2,α3),B=(β1,β2,β2)都是3阶矩阵.规定3阶矩阵证明C可逆的充分必要条件是A,B都可逆.
A、Towritethreethemesononetopic.B、Tolengthenthepapertothreetimesaslong.C、Tofinishthepapersonebyone.D、Tose
最新回复
(
0
)