首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
58
问题
使用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全国计算机二级
相关试题推荐
下列运算符中全都可以被友元函数重载的是
有如下函数模板定义:template<typenameT1,typenameT2,typenameT3>T2plusT1t1,T3t3){returnt1+t3;}则以下调用中正确是
算法的空间复杂度是指
有以下程序:#include<iostream.h>classA{inta;public:A(inti){a=i;}void
以下程序企图把从键盘终端输入的字符输出到名为abc.txt的文件中,当从终端读到字符’#’时,结束输入和输出操作。但该程序有错。#include<iostream>#include<fstream>usingnamesp
下列对字符数组进行初始化的语句中,正确的是()。
下列虚基类的声明中,正确的是()。
通过使用new和delete两个运算符进行的分配为【】存储分配。
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是
在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示
随机试题
小儿缺铁性贫血最主要的原因是()
A、腹壁浅动脉外侧,腹股沟韧带上方B、腹壁浅动脉内侧,腹股沟韧带上方C、陷窝韧带外侧,腹股沟韧带下方D、腹壁下动脉外侧,腹股沟韧带上方E、腹壁下动脉内侧,腹股沟韧带上方腹股沟斜疝的疝囊颈位于
A.动、静脉损伤B.周围神经损伤C.缺血性肌挛缩D.缺血性骨坏死E.损伤性骨化股骨颈骨折可能发生
产生贫血的原因是
女性,32岁。较长期用药治疗后发现有浮肿、乏力、血压偏高。停药后,全身更加不适,肌无力、低血糖、血压偏低等情况,患者停用的是
以下关于苦杏仁中毒的叙述中错误的是
保险与储蓄的相同点主要体现在( )。
系统地收集有关学生学习行为的资料,参照预定的教学目标对其进行价值判断的过程称为()
忒休斯之船是一种同一性悖论,假定某物体构成要素被置换后,它依旧是原来的物体吗?这一问题在公元一世纪时由普鲁塔克提出:如果忒休斯船上的木头被逐渐替换,直到所有的木头都不是原来的木头,那这艘船还是原来的那艘船吗?此类问题被称为“忒休斯之船”的问题。根据上述定义
设在SQLServer2008某数据库中有商品表和销售表,两个表的定义如下:CREATETABLE商品表(商品号char(10)PRIMARYKEY,商品各varchar(40),类别varchar(20),进货单价i
最新回复
(
0
)