首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
20
问题
使用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全国计算机二级
相关试题推荐
下列for语句的循环次数为【】。for(inta=0,b=1;b&&a<5;a++);
若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是
C++语言中的基本数据类型是()。
下列运算符中全都可以被友元函数重载的是
以下对C++语言函数的有关描述中,正确的是
有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是
软件开发离不开系统环境资源的支持,其中必要的测试数据属于
以下程序执行后的输出结果是#include<iostream>usingnamcspacestd;voidtry(int,int,int,int);intmain(){intx,y,z,r;
若执行语句:cout<<setfill(’*’)<<setw(10)<<123<<"OK"<<end1后将输出
在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是
随机试题
A、Therearemanycontroversialissuesliketherightamountofsleep.B、Amongmanyissuestherightamountofsleepistheleast
A.桑白皮汤B.麻杏石甘汤C.苏子降气汤D.定喘汤E.泻白散治疗热哮发作期,应首选()
甲公司与乙公司签订一份专利实施许可合同,约定乙公司在专利有效期限内独占实施甲公司的专利技术,并特别约定乙公司不得擅自改进该专利技术。后乙公司根据消费者的反馈意见,在未经甲公司许可的情形下对专利技术做了改进,并对改进技术采取了保密措施。下列哪一说法是正确的?
工程造价的计算过程是( )。
以下不属于货币政策工具的是()。
1.20世纪90年代,随着全球生态环境压力的增大以及城市安全问题的凸显,可持续发展被提上日程,人类生存的核心问题之一城市宜居性成为人们关注的焦点。1996年,第二届联合国人居大会召开,明确提出了“人人享有适当的住房”和“城市化进程中人类居住区可持续发展”的
劳动与语言一起推动着人类意识的产生。()
社会化媒体,是指人们用来创作、分享、交流意见、观点及经验的虚拟社区和网络平台。社会化媒体和一般的社会大众媒体最显著的不同是,让用户享有更多的选择权利和编辑能力,自行集结成某种阅听社群。根据上述定义,下列属于社会化媒体的是:
为了在报表中打印当前时间,应该在适当区域插入一个
以下叙述中错误的是
最新回复
(
0
)