首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
27
问题
使用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全国计算机二级
相关试题推荐
C++程序是从【】函数开始执行的。
如果一个类中定义了成员对象,则该类的对象和成员对象先被初始化的是______。
以下程序执行后的输出结果是#include<iostream>usingnamcspacestd;voidtry(int,int,int,int);intmain(){intx,y,z,r;
下列关于队列的叙述中正确的是
函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是()。
下面对对象概念描述错误的是
当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【】。
下面的描述中,()是正确的。
有如下函数模板的定义:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在下列对func的调用中不正确的是
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
科学性与思想性统一的要求:保证教学的()性;发掘教材的()性,注意在教学中对学生进行()教育;重视()有价值的资料、事例或录像;()要不断提高自己的专业水平
下列选项属于导致审美体验呈现多层次的是()
诊断肺动脉栓塞最敏感的无创检查方法是()
企业在外购固定资产过程中收到税务机关退还的与所购买固定资产相关的增值税款,应当( )。
下列选项中,属于刑罚权内容的是()
中国传统道德中的“扶贫济困”“助人为乐”“雪中送炭”“与人为善”等古训讲的道理体现了促进个人与他人的和谐应坚持()
Writealettertoyourcousin,whoisgoingtotaketheCollegeEntranceExaminationandfeelsstressed,givinghersomesuggest
系统开发中的详细设计包括______。Ⅰ、代码设计Ⅱ、逻辑设计Ⅲ、输入/输出设计Ⅳ、模块结构与功能设计Ⅴ、程序设计Ⅵ、数据库/文件设计
Jacklosthisjoblastweek.Itwasdifficultforhimtofindanother【C1】______.【C2】______toldhimthatitwaspossibletoget
Discussion—about5minutesInthispartofthetestyouaregivenadiscussiontopic.Youhave30secondstolookattheprompt
最新回复
(
0
)