首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
24
问题
使用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://kaotiyun.com/show/n3Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面的类中定义了一个枚举类型,请完成下面的程序。classBase{public:enumWeek{Sum,Mon,Tue,Wed,Thu,Fri,Sat};Weeka;}
若把类B定义为类A的友元类,则应在类A中加入定义语句【】。
软件测试过程一般按4个步骤进行:单元测试、集成测试、验收测试(确认测试)和系统测试。在程序编码阶段进行的测试通常是______。
设intx:,则经过______后,语句*px=0;可将x值置为0。
设有下定义的语句:inta[3][2]={10,20,30,40,50,60};intb[3][2]={10,20,30,40,50,60};则a[1][1]*b[2][1]=【】。
若按功能划分,软件测试的方法通常分为白盒测试方法和【】测试方法。
汇编程序的功能是将汇编语言所编写的源程序翻译成由【】组成的目标程序。
编译过程一般分成5个阶段【】、语法分析、错误检查、代码优化和目标代码生成。
下面关于构造函数和析构函数的描述,错误的是()。
随机试题
记名债券
密钥管理中最棘手的问题是
消费者购买行为受哪些主要心理因素的影响?()
男性,65岁。半年前体检X线无明显异常。刺激性咳嗽伴血痰1个月,近10天来呼吸困难。查体:气管左移,左胸廓下陷,叩实音,管状呼吸音,心界左移。胸片示左胸均匀一致的致密影,胃泡影上移。确诊后首选的治疗方案是
锚杆应尽量与围岩壁面垂直,可采用目测法判定。()
下列关于公信力的叙述错误的是()。
甲股份有限公司委托证券公司发行股票1000万股,每股面值1元,每股发行价格8元,向证券公司支付佣金500万元。该公司应记入“资本公积——股本溢价”科目的金额为()万元。
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
一个班的学生排队,如果排成3人一排的队列,则比2人一排的队列少8排;如果排成4人一排的队列,则比3人一排的队列少5排。这个班的学生如果按5人一排来排队的话,队列有多少排?()
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。
最新回复
(
0
)