首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; Class obj{ static int i; public: obj(){i++;} ~Obi(){i--;} s
有如下程序: #include using namespace std; Class obj{ static int i; public: obj(){i++;} ~Obi(){i--;} s
admin
2021-09-05
46
问题
有如下程序:
#include
using namespace std;
Class obj{
static int i;
public:
obj(){i++;}
~Obi(){i--;}
static int getVal(){return i;}
};
int obj::i=0;
void f(){obj ob2;cout<
int main(){
obj obl;
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后,由于又定义了一个对象oh2,所以再次执行构造函数,i就变为了2,输出了2。函数执行完后执行析构函数,i变为了1,然后又定义了对象指针,i变为了2。释放ob3后,i变为了1,所以答案为D。
转载请注明原文地址:https://kaotiyun.com/show/ZE5p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于类模板的模板参数的叙述中,错误的是()。
若有如下类声明classMyClass{public:MyClass(){cout
下列描述中,错误的是()。
下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是()。
下列关于C++函数的叙述中,正确的是()。
有如下函数定义:voidfunc(inta,int&b{a++;b++;}若执行代码段:intx=0,y=1;func(x,y);则变量x和y的值分别是()。
在数据库系统中,用户所见的数据模式为
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)
内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是()。
随机试题
霍乱病人的剧烈腹泻是由下列哪项引起的
某患左眼瞳孔散大,视力下降,光照左眼时瞳孔无改变。照右眼时双瞳孔均缩小。应诊断为
A.地高辛B.卡托普利C.美托洛尔D.硝苯地平E.硝酸甘油终止心绞痛发作应选用
()是在可行性研究阶段广泛应用的一种评价方法。
按照我国选举法的规定,直接选举人民代表时,代表候选人应多于应选代表的()。
计算,其中D={(x,y)|-1≤x≤1,0≤y≤1}.
已知将运算符“+”和“*”作为类Complex的成员函数重载,设c1和c2是类Complex的对象,则表达式c1+c2*c1等价于()。
【B1】【B6】
Springisa(11)season.Thetemperaturesaremild,andthebloomingtreesandflowersmakethecitybright(12).Thisist
Polygraphs,or"liedetectors",areusedwidelyinAmerica,includingonsexoffenders,butinBritainmanyremainskeptical.Po
最新回复
(
0
)