首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class obj { static int i; public: obj(){i++;} ~obj(){i--;}
有如下程序: #include using namespace std; class obj { static int i; public: obj(){i++;} ~obj(){i--;}
admin
2017-12-14
21
问题
有如下程序:
#include
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<
int main(){
obj ob1;
f();
obj*ob3=new obj;cout<
getVal();
delete ob3;cout<
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/fkAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
假定a=3,下列程序的运行结果是()。#include<iostream.h>intfun(intn);voidmain(){cout<<"Pleaseinputanumber
下列叙述中正确的是
下面程序的运行结果是_____和_____。#include<iostream.h>#defineN10#defines(x)x*x#definef(x)(x*x)voidmain()
设有数组定义:chararray[]="China";则数组array所占的空间为
下列不是循环语句的是
以下选项中合法的用户标识符是
请在下列程序的横线处填写正确的语句。#include<iostream>usingnamespacestd;classBase{public:voidfun(){cout<<
需求分析阶段的任务是()。
数据结构分为线性结构和非线性结构,带链的队列属于______。
实体是信息世界中广泛使用的一个术语,它用于表示()。
随机试题
合并心力衰竭合并冠心病
关于强奸罪及相关犯罪的判断,下列哪一选项是正确的?
建筑施工企业安全生产管理工作中,()是清除隐患、防止事故、改善劳动条件的重要手段。
随同产品出售而不单独计价的包装物,在领用时。应借记“生产成本”。()
国有企业改组为股份有限公司时,净资产折股比例不得低于()。
汇总记账凭证账务处理程序是直接根据记账凭证逐笔登记总分类账的一种账务处理程序。()
差别存款准备金率制度,会提高资本充足率较低且资产质量较差的商业银行对于贷款扩张的积极性。()
在复杂任务的行为中,反应时间常包括()
Feasibilityshouldbemeasuredthroughoutthelifecycleofsystemdevelopment.Thescopeandcomplexityofanapparentlyfeasibl
A、Hecouldhelpherwiththeproblems.B、Hecouldgoouttogetherwithher.C、Sheshouldgooutforawhile.D、Sheshoulddothe
最新回复
(
0
)