首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
17
问题
有如下程序:
#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(
语句cout<<(a=2)&&(b=-2);的输出结果是
下列程序在构造函数和析构函数中申请和释放类的数据成员int*a,申请时使用形参b初始化a,请填空。classA{public:A(intb);~A();private:int*a;};
下面关于运算符重载的描述错误的是()。
有以下程序:voidfun(inta*a,inti,inti){intt;if(i<j);{t=a[i];a[i]=a[j];a[j]=t;fun(a,++i,--j);}}main
实体是信息世界中广泛使用的一个术语,它用于表示()。
设有如下三个关系表:下列操作中正确的是()。
下列关于线性表、栈和队列的叙述,错误的是
关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性。
随机试题
引起叶酸和维生素B12缺乏的常见原因()
椎动脉供血范围不包括
郭某与10岁的儿子到饭馆用餐,入厕时将手提包留在座位上嘱儿子看管,回来后发现手提包丢失。郭某要求饭馆赔偿被拒绝,遂提起民事诉讼。根据消费者安全保障权,下列哪一说法是正确的?(2009年试卷一第25题)
空气调节系统的电加热器应与送风机连锁,并应设();电加热器的金属风管应接地。
在负荷较小或地区供电条件困难时,二级负荷可由一回6kV及以上专用的架空线路或电缆供电。当采用架空线时,可为一回架空线供电;当采用电缆线路时,应采用两根电缆组成的线路供电,其每根电缆应能承受()的二级负荷。
从事证券投资顾问业务,违反法律、行政法规和《证券投资顾问业务暂行规定》情节严重的,()。
下列说法中正确的有()。
前臂出血时,为了止血应指压()。
文章结尾写“生命难免也会有阴暗的死角……不论何时、何地、何境,都别忘了开一扇心灵的天窗”,下列名著中就有能表现这一哲理的事例,请简要叙述。《童年》《名人传》《钢铁是怎样炼成的》
求.
最新回复
(
0
)