首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
36
问题
有如下程序:
#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全国计算机二级
相关试题推荐
若在表达式y/x中,“/”是作为成员函数重载的运算符,则该表达式还可以表示为
下列定义语句中,错误的是
下列叙述中正确的是
有以下程序main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);cout<<s<<
下列叙述中正确的是
请在下列程序的横线处填写正确的语句。#include<iostream>usingnamespacestd;classBase{public:voidfun(){cout<<
有如下函数模板定义:template<classT>Tfunc(Tx,Ty){returnx*x*y*y;)在下列对func的调用中,错误的是
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是
需求分析阶段的任务是()。
在E-R图中,用来表示实体的图形是()。
随机试题
维生素包括脂溶性维生素和水溶性维生素。()
在壁细胞完全缺乏的人,下列哪种情况一般不会发生
在制订药品质量标准时,新药的名称原则上应采用
按《环境管理体系要求及使用指南》GB/T24001—2016,在体系标准的总体结构中属于“支持”的内容有()。
下列关于从业人员持有股份的规定中,错误的是()。
下列关于《离骚》的表述,不正确的是()。
1,17,42,78,()
常见的侵犯学生受教育权的表现形式有哪些?
Thispassagemainlytalksabout______.Asusedinthesecondsentenceofthethirdparagraph,theword"unique"means______.
Questions14-17ChoosetheappropriatelettersA-Dandwritetheminboxes14-17onyouranswersheet.*
最新回复
(
0
)