首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为: 30 130 注意:错误的语句在//******error******的下面,修改该语句即可。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为: 30 130 注意:错误的语句在//******error******的下面,修改该语句即可。
admin
2019-05-14
45
问题
使用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://www.kaotiyun.com/show/aE8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在下面的类定义中,横线处应填入的内容是()。classFred{public:voidprint(){cout<<data<<end1;}voidsetData(doubled}{data
运算符函数调用格式的表达式“y/x++”与表达式“y.operator/(operator++(x,0))”的含义相同,由此可看出()。
以下程序的执行结果为()。#include<iostream.h>classSample{intn;public:Sample(inti){n=i;}operator++(){n++;}
有如下程序:#include<iostream>usingnamespacestd;classAA{intn;public:AA(intk):n(k){}intget(){retur
内部格式控制操作函数是在头文件()中定义的。
下面关于构造函数和析构函数的描述,错误的是()。
下面程序的运行结果是()。#include<iostream.h>intx=5;intfan(inta){intc;c=x*a;returnc;}voidmain(
有如下程序:#include<iostream>usingnamespacestd;voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={
设有关键码序列(66,13,51,76,8l,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为()。
随机试题
任何事业单位会计都可以以权责发生制或收付实现制为结账基础。()
患者,男,28岁。因食用了苍蝇叮咬过的食物,1周后出现全身不适、体温39.0~40℃,呈稽留热,脉搏60~70次/分,表情淡漠。病程第2周出现玫瑰疹,对患者采取的隔离种类是()。
某大型石油化工生产企业,原油加工能力1000万m3/年。厂区外设有原油储罐区,在厂区内设有成品油和液化石油气储罐区,油品通过输油管道和铁路及公路运输,并将生产区、辅助生产区、储存区和生活区分开设置,厂区内外设置了环形消防车通道、消防水源、消火栓给水系统、
在行政诉讼中,( )。
某高级工程师2009年11月从A国取得特许权使用费收入20000元,该收入在A国已纳个人所得税3000元;同时从A国取得股息收入1400元,该收入在A国已纳个人所得税300元。该月从B国取得发表论文的所得3000元,已纳个人所得税280元。该工程师当月应在
左边给定的是纸盒的外表面,下面哪一项能由它折叠而成?
某企业原预付资本为1000万元,资本有机构成为9:1,工人平均每月工资为500元,本月因劳动生产率的提高而采用了新的机器设备,使资本的有机构成提高到19:1。试问,在企业资本总量和工人工资保持不变的情况下,由于有机构成的提高而被排挤出工厂的工人人数是(
设A=有三个线性无关的特征向量.求可逆矩阵P,使得P-1AP为对角阵.
In8011terminology.allcommunicationwastogothroughthebasestation,calledan(75)
软件设计中.设计复审和设计本身是一样重要的环节,其主要目的和作用是
最新回复
(
0
)