首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
22
问题
使用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++语言中用于单行注释的是
下列数据模型中,具有坚实理论基础的是
若以下定义:structlink{intdata;structlink*next;}a,b,C,*p,*q;且变量a和b之间已有下图所示的链表结构。指针p指向
若类A和类B的定义如下;classA{inti,j;public:intgeti(){returni;}};clasSB:publ
下列关于栈的叙述正确的是
使用函数模板的方法是先说明函数模板,然后实例化成相应的______进行调用执行。
如果一个模板声明列出多个参数,则多个参数之间必须使用______隔开,每个参数都必须重复使用关键字______。
注释一般分为序言性注释和______注释。
在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
[*]
大黄葶苈子
在国际贸易采用信用证支付时,各有关方面处理的是()。
建设项目管理规划涉及项目整个实施阶段的工作,它属于()项目管理的工作范畴。
在美国,商标的首先使用人得到商标所有权,即使没办理注册手续,法律也给予承认和保护。()
甲公司为增值税一般纳税人,适用的增值税税率为17%。2017年12月份发生下列销售业务:(1)3日,向A公司销售商品1000件,每件商品的标价为8万元,在此基础上,甲公司同意给予A公司10%的商业折扣。每件商品的成本为5万元。商品已发出,并开出
标出如图所示中磁感线的方向和磁铁的N、S极。
服务市场营销组合中除了产品(product)、价格(price)、地点或渠道(place)、促销(promotion)外,还包括()。
若在窗体模块的声明部分声明了如下自定义类型和数组:PrivmeTyperecCodeAsIntegerCaptionAsStringEndTypeDimarr(5)Astee则下
下列叙述中正确的是
最新回复
(
0
)