首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Obj{ static int i; public: obj(){i++;} ~obj(){i--;} static int getVal(){ret
有如下程序: #include<iostream> using namespace std; class Obj{ static int i; public: obj(){i++;} ~obj(){i--;} static int getVal(){ret
admin
2021-05-06
11
问题
有如下程序:
#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=new obj;cout<<ob3->getVal();
delete oh3;cout<<obj::getVal();
return0;
}
执行这个程序的输出结果是( )。
选项
A、232
B、231
C、222
D、221
答案
D
解析
本题考查构造函数和析构函数的调用顺序,调用顺序为先构造的后析构,后构造的先析构。本题中先定义了一个对象ob1,会执行构造函数,那么i就变为了1;再执行函数f后,由于又定义了一个对象ob2,所以再次执行构造函数,i就变为了2,输出了2。函数执行完后执行析构函数,i变为了1,然后又定义了对象指针,i变为了2。释放ob3后,i变为了1,所以答案为D。
转载请注明原文地址:https://kaotiyun.com/show/LXfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classGA{public;virtualintf0{retuml;});classGB:publicG
在带链队列中,经过一系列正常的操作后,如果front=rear,则队列中的元素个数为
下列重载函数中,正确的是()。
下列叙述中正确的是
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。(1)定义类的公有数据成员函数No、Name[32],其中No是int型的数据,Name[32]为字符型。请在注释1后添加适当的
内部格式控制操作函数是在头文件()中定义的。
下列选项中,正确的C++标识符是
在满足实体完整性约束的条件下()。
将E-R图转换到关系模式时,实体与联系都可以表示成()。
随机试题
怎样检查进气歧管?
1840年鸦片战争前,中国社会的性质是()
A.上臂三角肌肌肉注射B.左上臂三角肌上端外缘皮下注射C.左上臂三角肌下端外缘皮内注射D.左前臂掌侧中、下1/3交界处皮内注射E.右前臂掌侧中、上1/3交界处皮内注射乙肝疫苗的接种方法是()。
某女孩,7岁。溺水后被人解救出水,呼吸困难,进行胸外心脏按压。正确按压部位是
川芎的主要药理作用有( )。
银行业同业人员之间应当互相尊重,在面对竞争的时候不能互相诽谤;可以进行正常的学术交流,但不能互相交换商业机密或知识产权。( )
治安管理处罚是依法强制剥夺违反治安管理行为人的()权利。
现代高等教育的主要发展趋势是
TheLongMarchALongWaytoGoforChineseEntrepreneursProspectsofanewdirection"MadeinChina"los
A、ThemanwantstogotoTokyo.B、ThemanwantstogotoShanghai.C、Thereare4flightstoTokyofortherestoftheday.D、The
最新回复
(
0
)