首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Obj{ static hat i; public: Obj(){i++;} ~bj(){i--;}
有如下程序: #include using namespace std; class Obj{ static hat i; public: Obj(){i++;} ~bj(){i--;}
admin
2019-05-06
50
问题
有如下程序:
#include
using namespace std;
class Obj{
static hat i;
public:
Obj(){i++;}
~bj(){i--;}
static int getVal(){return i;}
};
int Obj∷i=0;
void f(){Obj oh2;cout<
int main(){
Obj ob1;
f();
Obj
*
ob3=new Ohj;cout<
getVal();
delete ob3;cout<
return 0;
}
程序的输出结果是( )。
选项
A、232
B、231
C、222
D、221
答案
D
解析
此题考查的是静态成员。本题中,Obj类定义了一个静态数据成员i,并初始化为0.在主函数中,首先定义了1个该类对象ob1,所以构造函数被调用1次,i加1;然后调用函数f(),该函数中又定义了一个对象ob2,此时i再次加1变为2,然后通过函数getVal()输出i的值2。f()函数结束,oh2变量被释放,故析构函数被调用了1次,i变成1:回到主函数中,又动态创建了1个对象并让oh3指向它,此后i变成2并输出。最后释放动态创建的对象i变为1,输出1。故最终的输出结果是221。
转载请注明原文地址:https://kaotiyun.com/show/5o8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
建立一个有成员对象的派生类对象时,各构造函数体的执行次序为
在类声明中,紧跟在“public:”后声明的成员的访问权限是
下列叙述中正确的是
执行语句:{cout<<setfill(’*’)<<setw(10)<<seffill(’#’)<<left<<123<<"0K"<<end1;return0;}后将输出()。
下列叙述中错误的是()。
下列关于类、对象、属性和方法的叙述中,错误的是()。
A、 B、 C、 D、 C派生类的构造函数定义的一般格式为:派生类名(参数总表):基类名(参数表){派生类新增数据成员的初始化语句}在生成对象b时,就自动给基类构造函数传递实参1
A、 B、 C、 D、 B叶子结点总是比度为2的结点多一个。所以,具有60个叶子结点的二叉树有59个度为2的结点。总结点数:60个叶子结点+59个度为2的结点+50个度为1的结点=169个结点。
下列关于栈的叙述中,正确的选项是()。A)在栈中只能删除数据B)在栈中只能插入数据C)栈是先进先出的线性表D)栈是先进后出的线性表
下面函数的作用是以双倍行距输出文件:voidtest(ifstream&outf,ofstream&outC){charc;while(______){______;
随机试题
支气管镜检常用的麻醉方法是雾化吸入。()
引起继发性腹膜炎的病因不包括
粒子状态污染物又称固体颗粒污染物,是分散在大气中的微小液滴和固体颗粒,粒径在()μm之间,是一个复杂的非均匀体。
下列不属于夫妻财产协议有效要件的是()。
把世界看作是从来如此、始终不变的自然界,人不过是从属于自然的一部分。这种观点是()。
某国去年从第三世界国际基金会得到25亿美元的贷款,它的国民生产总值增长了5%;今年,该国向第三世界国际基金会提出两倍于去年贷款的要求,它的领导人并因此期待今年的国民生产总值增加10%。但专家认为,即使上述贷款要求得到满足,该国领导人的期待也很可能落空。据
下列4项中说法不正确的是
“千兆以太网”通常是一种高速局域网,其网络数据传输速率大约为()。
Beingatoughguy,hehasperfectcontrolofhiswon______.
Whoisthemanspeakingto?
最新回复
(
0
)