首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: number1=a number2=a number1=a number2=b 注意:错误的语句在//******error******
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: number1=a number2=a number1=a number2=b 注意:错误的语句在//******error******
admin
2016-10-28
44
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
number1=a
number2=a
number1=a
number2=b
注意:错误的语句在//******error******的下面,修改该语句即可。
#include<iostream.h>
class CMyClasS
{
public:
//******error******
friend void SetValue(CMyClassobj,char c)
{
obj.number1=c;
obj.number2=c;
}
//******error******
void SetValue(CMyClassobj,char c1,char c2)
{
obj.number1=c1;
obj.number2=c2;
}
void display()
{
cout<<"number1="<<number1<<endl;
cout<<"number2="<<number2<<endl;
}
private:
char number1,number2;
};
void main()
{
CMyClass t;
SetValue(t,’a’)j
t.display();
//******error******
t.SetValue(&t,’a’,’b’);
t.display();
}
选项
答案
(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’)执行后,输出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()函数,在屏幕上打印,“number1=a number2=b”,可知在SetValue(CMyClass obj,char c1,char c2)中改变了对象t的成员number1和number2的值,因此第一个参数传递为引用方式,故第2个标识下应改为“void SetValue(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/aKNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是#include<iostream.h>longfun(intn){longs;if(n=1||n=2)s=2;elses=n-fun(n-1);returns
有以下程序:#include<iostream>usingnamespacestd;classCFactorial{private:intvalue;intfact
函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是()。
下列关于栈的叙述正确的是
若要打开二进制文件binfile写方式,输出到文件尾则应为:ofstreambfile("binfile",______);
在C++语言中每个类都有一个【】指针,该指针指向正在调用成员函数的对象。
如果表达式x*y+2中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为
下面有关for循环的正确描述是
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
WhenIfirstmetNina,Idislikedheratonce.Shewaswearingskintightpedalpushers,aflashy,floppytop,andsneakerswith
有关腹腔镜气腹早期并发症不恰当的是
套期保值有助于规避价格风险,是因为()。
第七次咨询:心理咨询师:经过前几次的咨询,我们基本达到了预定的咨询目标,您的情绪、行为有了很大改变,我为您感到高兴。求助者:谢谢您!心理咨询师:接下来我们将要一起进行咨询效果评估,大概包括六个方面的内容。求助者:正是
阅读下列材料,回答问题。荷叶那年我去宏村,正是深秋季节,顺着黄山的皱褶一路前行,层林尽染,草黄枫
“一两的遗传胜过一吨的教育”强调的是()。
教育理论体系中的一个最基本的思想就是把儿童当作儿童来看待,同时还强调幼儿教育应当遵循自然的原则的教育家是()
与其他直复营销方式相比,___________更灵活、更迅速、更容易评价也更具有成本优势。
IntheUnitedStates,theneedtoprotectplantandanimalspecieshasbecomeahighlycontroversialandsharplypoliticalissue
Nike’sSuccessNikeperformedwellduringthelastquarter.Businesswasupineverymajormarket,in【L1】______,bothinits
最新回复
(
0
)