首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Obj { static int i; public: Obj() { i++; } ~Obj() { i--; } static int getVal() { ret
有如下程序: #include using namespace std; class Obj { static int i; public: Obj() { i++; } ~Obj() { i--; } static int getVal() { ret
admin
2021-05-06
25
问题
有如下程序:
#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/aHfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
建立一个类对象时,系统自动调用()。
有如下类定义:classPoint{private;staticinthow_many;};_______how_many=0;要初始化point的静态成员how_many,下划线处应填
下列重载函数中,正确的是()。
有如下程序段:inti=0,j=1;int&r=i;∥①r=j;∥②int*p=&i;∥③*p=&r;∥④其中会产生编译错误的语句是()。
在函数中,可以用auto、extern、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
下列关于输入流类成员函数getline()的叙述中,错误的是
下列关于类模板的叙述中,正确的是()。
公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是
在软件开发中,需求分析阶段产生的主要文档是()。
下列字符中,可以出现在合法的C++标识符中的是
随机试题
A.维生素KB.氨甲环酸C.硫酸亚铁D.华法林E.尿激酶急性肺栓塞宜选用
可以准确计算相对危险度的指标是
A.假性幻觉B.功能性幻觉C.内脏性幻觉D.反射性幻觉E.内感性不适
病人王某,患肝硬化五年,经血液检测,病人为乙型肝炎表面抗原携带者,近来发生肺部感染,并出现呼吸困难。为缓解患者的呼吸困难,应安置病人呈()
机电产品国际招标的评标方法中的最低评标价法的评标程序包括()和资格后审等步骤。
以下各项中,属于建设项目筹集权益资金方式的是()。
我国货币市场基金能够进行投资的金融工具包括剩余期限在497天以内(含497天)的债券。()
摸着石头过河
《刑法》规定,个人贪污数额在5000元以上不满1万元,犯罪后有悔改表现、积极退赃的,对犯罪人()。
管辖对于()相当于()对于范围
最新回复
(
0
)