首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
2017-02-18
30
问题
有如下程序:
#include
using namespace std;
class obj{
static int i;
public:
Obj(){i++;}
~Obj(){i--;}
statie int getVal(){return i;}
};
int obj::i=0:
void f(){obj oh2;cout<
int main(){
Obj obl;
f();
obj*oh3=new obj;cout<
getVal();
delete oh3;cout<
return 0;
}
执行这个程序的输出结果是( )。
选项
A、232
B、231
C、222
D、221
答案
D
解析
本题考查构造函数和析构函数的调用顺序,调用顺序为先构造的后析构,后构造的先析构。本题中先定义了一个对象ob1,会执行构造函数,那么i就变为了l;再执行函数f后,由于又定义了一个对象ob2,所以再次执行构造函数,i就变为了2,输出了2。函数执行完后执行析构函数,i变为了1,然后又定义了对象指针,i变为了2。释放ob3后,i变为了1,所以答案为D。
转载请注明原文地址:https://kaotiyun.com/show/cIAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
C++中运算符优先级由高到低排列正确的是()。
下面程序的输出结果是【】。#include<iostream.h>voidmain(){inta[6]={1,2,3,4,5,6};for(inti=0;i<5;i++)
C++中封装性、继承性和【】是面向对象思想的主要特征。
设有intx=11;,则表达式(x++*2/3)的值是
将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为【】。
有如下程序:#include<iostream.h>longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}
下列程序的输出结果是#include<iostream.h>intb=2;intfunc(int*a){b+=*a;return(b);}voidmain()
C++语言的基本控制结构为顺序结构、选择结构和【】。
下列对模板的声明中,正确的是
C++语言标识符是以字母或______开头的,由字母,数字和下划线组成的字符串。
随机试题
下列错误的是()
属静脉肾盂造影禁忌证的是
B会计师事务所对上市公司W股份有限公司的2006年财务报表进行年度审计。注册会计师L正在对其销售与收款循环进行审计。在审计过程中L遇到下列问题,请代为做出正确的判断。
某市电信局在安装电话这项服务中,只允许消费者购买并使用其指定的电话机,否则不予安装,其行为侵犯了消费者的()。
如果“全员劳动生产率”为“工业增加值/全部从业人员平均人数”,那么2004年的全部从业人员平均人数为多少人?
甲、乙两企业签订购销合同,甲按约给付对方4万元定金后,乙企业违约。甲企业依法有权要求乙企业给付()。
什么是重测信度?什么是评分者信度?
为什么说教育是人类社会特有的现象?
HowdoesthewomanfeelaboutSingapore?
A、It’stough.B、It’sasnap.C、It’sapieceofcake.D、It’seasy.A
最新回复
(
0
)