首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include <iostream> using namespace std; class Obj { static int i; public: Obj( ){i++;}
有如下程序: #include <iostream> using namespace std; class Obj { static int i; public: Obj( ){i++;}
admin
2017-10-17
62
问题
有如下程序: #include <iostream> using namespace std; class Obj { static int i; public: Obj( ){i++;} ~Obj(){i--;} static int getVal( ){ return i;} }; int Obj::i=0; void f() {Obj ob2; cout<<ob2.getVal( ); } int main( ){ Obj ob1; f(); Obj *ob3=ew Obj; cout<<ob3->getVal( ); delete ob3; cout<<Obj::getVal( ); 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()函数结束了,局部变量ob2被释放,故析构函数被调用了1次,i变成1。回到主函数中,又动态创建了1个对象并让指针ob3指向它,所以i变成2,接着输出的值为2。最后,释放动态创建的那个对象,i变为1,所以最后输出的值为1。因此,程序最终输出结果为221,应该选择D。
转载请注明原文地址:https://www.kaotiyun.com/show/XPAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列叙述中错误的是
设置虚基类的目的是______,通过______表示虚基类。
结构化程序设计的一种基本方法是()。
______成员函数中不能直接引用类中说明的非静态成员。
有以下程序:#include<iostream>usingnamespacestd;intmain(){intx;for(inti=1;i<=100;i++)
不能作为函数重载的判断依据的是()。
关于纯虚函数和抽象类的描述中,错误的是()。
下列输出字符,A,的方法中,错误的是()
系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是()。
数据流图有两种典型的结构形式,它们分别是变换型和【】。
随机试题
“趣”字的部件组合模式是()。
A.降低或减少劳动者接触职业性有害因素水平B.通过健康监护,早期发现职业损害C.对职业病患者进行及时的治疗和处理D.建立和健全组织领导机构E.引进先进的设备与工艺一级预防包括
女,64岁。戴用下可摘局部义齿两周,感舌活动受限,时有咬舌。查:双侧磨牙缺失,黏膜支持托式义齿,基托与黏膜贴合良好,固位好,双侧人工牙颊尖在牙槽嵴顶连线上。造成咬舌的原因是
有关涂膜剂的不正确表述是()。
根据有关规定,中外合资经营企业解散的主要原因有()。
教师是既定课程的阐述者和传递者,学生是既定课程的接受者和吸收者,这是新课程倡导的教学观。()
【2013年德州市市直真题】新课程在目标上,要求从知识与技能、过程与方法、情感和态度及价值观等方面设计具体的课程。()
根据罪刑法定原则,只要某一行为满足了犯罪的构成要件,则必然应该定罪处罚。
曲线y=χ(χ-1)(2-χ)与χ轴所围成的图形面积可表示为().
視察团
最新回复
(
0
)