首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Obj{ static int i; public: Obj(){i++;} ~Obj(){i--;} s
有如下程序: #include using namespace std; class Obj{ static int i; public: Obj(){i++;} ~Obj(){i--;} s
admin
2019-03-05
35
问题
有如下程序:
#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 obl;
f();
Obj*ob3=new Obj;cout<
getVal();
delete ob3;cout<
return 0;
}
执行这个程序的输出结果是( )。
选项
A、232
B、231
C、222
D、221
答案
D
解析
本题考查构造函数和析构函数的调用顺序,调用顺序为先构造的后析构,后构造的先析构。本题中先定义了一个对象0b1,会执行构造函数,那么i就变为了1;再执行函数f后,由于又定义了一个对象ob2,所以再次执行构造函数,i就变为了2,输出了2。函数执行完后执行析构函数,i变为了l,然后又定义了对象指针,i变为了2。释放ob3后,i变为了1,所以答案为D。
转载请注明原文地址:https://kaotiyun.com/show/YqAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是_____。#include<iostream.h>voidfun(){staticinta=0;a+=2;cout<<a<<"";}voidmain(
将代数式转换成程序设计中的表达式为______。
所有在函数中定义的变量及函数的形式参数,都属于
下列程序的运行结果为#include<iostream.h>template<classTT>classFF{TTa1,a2,a3;public:FF(TTb1,TTb2,TTb3){a1=b1;
下面关于运算符重载的描述错误的是()。
有如下程序:#include<lostream>usingnamespacestd;classA{public:A(){cout<<"A";}~A(){cout<<"~A";}};
下列叙述中正确的是()。
一个项目具有一个项目主管,一个项目主管只可管理一个项目,则实体“项目主管”与实体“项目”的联系属于______的联系。
随机试题
幼儿利用掰手指来数数,这是典型的()
病邪使何脏受累才能发生小儿咳嗽
根据《中华人民共和国合同法》的规定,下列关于效力待定合同的说法中,正确的有()。
利用水跃消能,将泄水建筑物泄出的急流转变为缓流,以消除多余动能的消能方式称为()。
资料1厦门太德进出口有限公司(3502160069,C类管理企业)已向海关办理了加工贸易电子化手册,手册项下外销成品所需棉坯布(加工贸易限制类商品,法定计量单位:米/千克)采购进口后由厦门太福布业有限公司(3502930256,B类管理企业)负责
商业银行查询个人信用报告时应当取得被查询人的书面授权,是个人征信安全管理中的()。
在国外签订的合同,在我国境内履行时,贴印花税票的时间是( )。
商品内在的使用价值和价值的矛盾,其最完备的外在表现是()。
下列选项中,关于信息传输中第三方的描述不正确的是()。
TransportationintheU.S.Railroadsarepathsofparallelmetalrailsthatallowawheeledvehicletomovemoreeasilybyr
最新回复
(
0
)