首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为: 30 130 注意:错误的语句在//******error******的下面,修改该语句即可。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为: 30 130 注意:错误的语句在//******error******的下面,修改该语句即可。
admin
2019-05-14
33
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为:
30
130
注意:错误的语句在//******error******的下面,修改该语句即可。
1 #include<iostream.h>
2 int a=10;
3 class CObj
4 {
5 public:
6 CObj()
7 {
8 a=b=0;
9 }
10 void display()
11 {
12 //******error********
13 cout<<a<<b<end1;
14 }
15 void func(int a)
16 {
17 //******error******
18 a+=a;
19 }
20 void func2()
21 {
22 //******error******
23 a+=a;
24 }
25 private:
26 int a,b;
27 };
28 void main()
29 {
30 CObj obj;
31 obj.func(3);
32 obj.display();
33 obj.func2();
34 obj.display();
35 }
选项
答案
(1)cout<<a<<b<<end1; (2)this->a+=a; (3)a+=::a;
解析
程序当中定义了全局变量a和类CObj,类CObj含有成员变量a和b,类CObj的变量a和全局变量a均为整型变量,名字完全一样,使用时需要注意区分。类CObj成员函数display()打印变量a和b的值,func(int a)函数和func2()均使类成员变量a增加,但是增加方式不同。
(1)成员函数display()打印变量a和b的值,即cout输出a和b的值,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<”不正确,因此第1个标识下应改成cout<<a<<b<<end1。
(2)在func(int a)中,参数a传递进来,其和成员变量a名字一样,因此第2个标识下的“a+=a”有歧义,从程序的运行结果来分析,CObj obj声明对象obj,初始化类成员变量a和b均为0,调用func函数后输出30,说明a为3,b:为0,因此这里应该是成员变量与参数a的和赋给成员变量a,正确的写法是“this->a+=a;”。
(3)func2()函数虽然没有参数,但是成员变量a和全局变量a重名,第3个标识下“a、+=a”也会有歧义,分不清楚是全局变量加倍还是类成员变量加倍或者其他情况,调用func2()函数后,输出“130”,说明a为13,b为0,因此是成员变量与全局变量a的和赋给成员变量a,正确的写法是“a+=::a;”,“::a”表示是全局变量a。
转载请注明原文地址:https://kaotiyun.com/show/aE8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
符合结构化原则的三种基本控制结构是:选择结构、循环结构和______。
在下面的类定义中,横线处应填入的内容是()。classFred{public:voidprint(){cout<<data<<end1;}voidsetData(doubled}{data
以下程序的执行结果为()。#include<iostream.h>classSample{intn;public:Sample(inti){n=i;}operator++(){n++;}
执行语句:{cout<<setfill(’*’)<<setw(10)<<seffill(’#’)<<left<<123<<"0K"<<end1;return0;}后将输出()。
在下面的4个关键字中用来说明虚函数的是()。
设有以下定义和程序:#include<iostream.h>classTestClass1{public:voidshow1(){cout<<"TestClass1"<<end1;}
在C++语言中函数返回值的类型是由()决定的
有如下程序:#include<iostream>usingnamespacestd;voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={
______是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。
有如下程序:#include<iostream>usingnamespacestd;classA{public:staticinta;voidinit(){a=1;}A(inta=2){
随机试题
黑膏药中常用的药物不包括
功血的支持治疗包括
五苓散证的治法是
某工程位于华南中低山区,年降水量1300mm左右,去土场生态恢复拟采取自然恢复方式,数年后可能出现的植被类型是()。
某人投资10万元认购基金,认购资金在募集期产生的利息为2元,其对应的认购费率为1%,基金份额面值为1元,则其认购费用为()元。
性格的情绪特征不包括()。
近日,国务院召开全国电视电话会议动员、部署国务院机构职能转变工作,总理李克强就近日的假羊肉、毒生姜事件发表了言论,他指出民以食为天,食品安全问题涉及千家万户,关系到人民群众身体健康和生命安全,从中央到地方政府都要加强监管。同时他强调对于食品安全问题要出重拳
若按2010年1--3月入境旅游人数排序,以下各项错误的是()。
2018年我国国内生产总值900309亿元,比上年增长6.6%,全国居民人均可支配收入28228元,比上年增长8.7%,全国居民恩格尔系数为28.4%。2018年我国总人口139538万人,比上年增加530万人,其中城镇常住人口83137万人,全年出生人口
出口退税(exporttaxrebate)是指退还钱给出口企业,因其国内生产和流通(distribution)环节中已经缴纳商品税。出口退税制度是一个国家税收的重要组成部分。为了鼓励和促进出口。中国政府于1985年开始执行这一政策。中国的出口退税使中国
最新回复
(
0
)