首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespaee std; class Obj { static int i; public: obj() {i++;} -obj()
有如下程序: #include<iostream> using namespaee std; class Obj { static int i; public: obj() {i++;} -obj()
admin
2021-09-05
44
问题
有如下程序:
#include<iostream>
using namespaee std;
class Obj {
static int i;
public:
obj() {i++;}
-obj() {i--;}
static int getVal() {return i;}
};
int obj∷i=0:
void f() {obj oh2;cout<<ob2.getVal();}
int main() {
obj ob1;
f();
Obj * ob3=new obj;cout<<oh3->getVal();
delete ob3;cout<<obj∷getVal();
return 0;
}
执行这个程序的输出结果是( )。
选项
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/F7fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个源程序文件main.epp,其中有“房间”类Room及其派生出的“办公室”类Office的定义,还有主函数main的定义。请在程序中“//****found****”下的横线处填写适当的代码并
请打开考生文件夹下的解决方案文件proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR****found****”,之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:Constructorcalled.
下列关于C++流的描述中,错误的是()。
下列关于类定义的说法中,正确的是()。
下列选项可以做C++标识符的是()。
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是()。
已知数组arr的定义如下:intarr[5]={1,2,3,4,5);下列语句中输出结果不是2的是()。
在数据管理技术发展的三个阶段中,数据共享最好的是()。
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是()。
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()。
随机试题
超声引导的肝脏肿瘤的介入性治疗包括
小儿急性肾衰竭少尿期的饮食原则是
下列哪项不是更年期心血管疾病发生的危险因素
关于联合体投标,下列叙述中正确的是()。
在上市公司股东名册上登记在册的自然人、法人或者其他组织是指()。
下列各项中,属于“工资、薪金所得”所得的有()。
弗里德曼认为消费支出()。
甲县人民代表大会代表张某,在他当选为代表一年后,迁入乙县居住,他应()。
国民生产总值(GNP)
Leptiniseffectiveinreducingweightbutit’smanyyearsawaybeforehumanscanuseit.Bothobesemiceandnormalmicecanp
最新回复
(
0
)