首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序:#include<iostream>using namespace std;class A{public: static int a; void init(){a=1;} A(int a=2){init();a++;}};int A::a
有如下程序:#include<iostream>using namespace std;class A{public: static int a; void init(){a=1;} A(int a=2){init();a++;}};int A::a
admin
2013-05-30
36
问题
有如下程序:#include<iostream>using namespace std;class A{public: static int a; void init(){a=1;} A(int a=2){init();a++;}};int A::a=0;A obj;int main(){ cout<<obj.a; return 0;}运行时输出的结果是
选项
A、0
B、1
C、2
D、3
答案
B
解析
本题是一道陷阱题,看似考查类的静态成员变量,实际考查的是:变量作用域的屏蔽效应。在C++中,当标识符的作用域发生重叠时,在一个函数(或块)中声明的标识符可以屏蔽函数(或块)外声明的标识符或全局标识符。本题从行"class A{"到行“int A::a=0;”都是类A的声明部分。行“A obj;”声明了一个类A的全局对象 obj,由于没指定构造参数,所以构造时构造函数的形参a取默认值2。构造函数中首先调用了init函数,将静态成员变量a赋为1,然后将a增1。许多考生此时会很自然地认为是将类A的静态成员变量a增1了,从而导致选择C这个错误答案。其实,此时静态成员变量a被构造函数的形参a所屏蔽,所以a++改变的是形参a的值,对静态成员变量a没有影响,其值还是被init函数所改成的值1。故本题应该选择B。
转载请注明原文地址:https://kaotiyun.com/show/jUNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
派生类中所定义的虚函数的【】不影响对它的动态联编,即基类中已定义的虚函数,其同名函数放在派生类中的【】,都可以实现运行时多态性。
下列关于虚函数调用的描述,______是正确的。
设有如下程序段:charstr[]="World":char*ptr=str;执行上面的程序段后,*(ptr+5)的值为______。
设有数组定义:chararray[]="China";,则数组array所占的空间为()。
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把节点b连接到节点a之后的语句是()。structnode{chardata;structnode*next;}a,
面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个【】。
下列程序的运行结果为【】。#include<iostream.h>voidmain(void){inti=10;switch(i){case9:i=i+1;case10
对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为【】。
下面关于模板的描述,错误的是
随机试题
A.弥漫性间质纤维化B.肉芽肿形成C.两者均有D.两者均无特发性间质纤维化
化工工艺是指根据技术上先进、经济上合理的原则来研究各种化工原材料、半成品和成品的加工方法及过程的科学。
A.蝶筛隐窝B.鼻后孔C.上鼻道D.中鼻道E.下鼻道鼻泪管开口于【】
中小型水利工程的普通混凝土配合比设计,骨料的含水状态一般以()为基准。
一、注意事项1.申论与写作考试与传统的作文考试不同,是分析驾驭材料的能力与表达能力并重的考试。2.作答参考时限:阅读资料40分钟,作答110分钟。3.仔细阅读给定的资料,按照后面提出的“作答要求”依次作答在答题纸指定位置。4.答题时请认准题号,避免
材料成本最高的企业是()。
中国古代的哲学家公孙龙提出的“白马非马”的命题,其错误是割裂了事物的()。
TheTCPprotocolisa(71)layerprotoc01.EachconnectionconnectstwoTCPsthatmaybejustonephysicalnetworkapartorlocate
WhendidMichaelJordanannouncehisretirementfrombasketball?
ForLondon-basedMichelleBrideau,10yearsinthetravelindustryfeltlikeaneternity.Whatstartedaslowpayandhighstres
最新回复
(
0
)