首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: numbor1=a numher2=a numbcr1=a number2_b 注意:错误的语句
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: numbor1=a numher2=a numbcr1=a number2_b 注意:错误的语句
admin
2019-01-19
61
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
numbor1=a
numher2=a
numbcr1=a
number2_b
注意:错误的语句在//******error******的下面,修改该语句即可。
1 #include<iostream.h>
2 class CMyClass
3 {
4 public:
5 //******error******
6 friend void SetValue(CMyClass obj,char c)
7 {
8 obj.number1=c;
9 obj.number2=c;
10 }
11 //******error******
12 void SetValue(CMyClass obj,char c1,char c2)
13 {
14 obj.number1=c1;
15 obj.number2=c2;
16 }
17 void display()
18 {
19 cout<<’’number1=’’<<number1<<end1;
20 cout<<’’number2=’’<<number2<<end1;
21 }
22 private:
23 char number1,number2;
24 };
25 void main()
26 {
27 CMyClass t;
28 SetValue(t,’a’);
29 t.display();
30 //******error******
31 t.SetValue(&t,’a’,’b’);
32 t.display();
33 }
选项
答案
(1)friend void SetValue(CMyClass&obj,char c) (2)void SetValue(CMyClass&obj,char c1,char c2) (3)t.SetValue(t,’a’,’b’);
解析
程序中定义了类CMyClass,含有两个成员变量char型变量number1和number2,友元SetValue()函数,成员函数SetValue()和display()数,SetValue()函数可改变number1和number2的值,display()函数在屏幕上打印number1和number2的值。
(1)根据程序的输出结果,函数SetValue(t,’a’)执行后,输出number1和number2的值均为a,在SetValue(t,’a’)执行中改变了对象t的成员number1和number2的值,故SetValue(t,’a’)的第_个参数传递的是引用,因此第1个标识下应改为“friendvoid SetValue(CMyClass&obj,char c)”。
(2)主函数中t.SetValue(t,’a’,’b’)后调用t的display()函数,在屏幕上打印,“numberl=a number2=b”,可知在SetValue(CMyClass obj,char c1,char c2)中改变了对象t的成员number1和number2的值,因此第一个参数传递为引用方式,故第2个标识下应改为“voidSetValue(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/rgAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespqceStd;classTestClass{private;CharC;public;TestClass(char
有如下程序:#include<iostream>usingnamespacestd;ClassTest{public:Test(){n+=2;}~Test(){n-=3;}sta
在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为______。
设有定义:classC{public:intvalue;…};intx,*p;则以下引用形式中,正确的是
下列程序编译错误,是由于划线处缺少某个语句,该语句是______。#include<iostream.h>classA{private:intnuml;public:A():nu
下面不属于软件设计原则的是
下面关于模板的描述,错误的是
当使用fstrearn流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为______的。
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false,则横线处应填上()。Boolfun(char*str){inti=0,j=0;while(str[j])j++;for(j
随机试题
"SubstanceAbuse"—SevereAnxietytoSocietyTechnically,anysubstanceotherthanfoodthataltersourbodilyor【W1】______fu
最能提示右心衰竭的表现是
习近平总书记在“七一讲话”中指出的更基础、更广泛、更深厚的自信是()。
在合同履行过程中,标有单价的工程量清单是承包商与业主办理()的依据。
管理会计主要是为企业内部管理服务,从这个意义上讲,管理会计又称为( )。
下列选项中,()不属于供配电系统管理工作的主要内容。
听完一节精彩的语文课,自觉投入到下一节数学课的学习中。这体现的注意品质是()。
牛顿说:“假如我能够比别人嘹望得略为远些。那是因为我站在巨人们的肩膀上。”这句话肯定了()。
七届二中全会上,毛泽东指出党的工作重心从农村转移到城市,其主要依据是()。
Iftheywerejustanotherproduct,themarketwouldworkitsusualmagic-supplywouldrespondtohighpricesandrisetomeetsu
最新回复
(
0
)