首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
17
问题
使用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://jikaoti.com/ti/UME0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若调用一个函数,且此函数中没有return语句,则正确的说法是该函数
流操作子______可跳过输入流中的前导空白字符。
以下程序的执行结果是______。#include<iostream.h>classbase{public:virtualvoidwho(){cout<<"basec
以下程序的输出结果是#include<iostream.h>voidmain(){charx=040;cout<<(x<<1);}
有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是
以下运算符中不能重载的运算符是
在下面四个选项中,()是用来声明虚函数的。
在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示
在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示()
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
()不是由于单级制冷压缩机压缩比过大造成的。
关于脂肪酸合成的叙述,不正确的是
A.血氨升高B.血清淀粉酶升高C.血钙增高D.血清胃泌素增高E.血清AFP增高急性胰腺炎
在收集统计数据的形式中,重点调查和典型调查都属于判断抽样。()[2010年考题]
《民法通则》规定,向人民法院请求保护民事权利的诉讼时效期间为( )年,法律另有规定的除外。
在商用房贷款的贷后检查中,要检查借款人()。
删除Employee表中职工号为“19620426”的记录,正确的SQL语句是
能直接与CPU交换信息的存储器是
【B1】【B9】
Ifwearetohelpstudentsdevelopreadingskillsinaforeignlanguage,itisimportanttounderstandwhatisinvolvedinther
最新回复
(
0
)