首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Obj { static int i; public: Obj() { i++; } ~Obj() { i--; } static int getVal() { ret
有如下程序: #include using namespace std; class Obj { static int i; public: Obj() { i++; } ~Obj() { i--; } static int getVal() { ret
admin
2021-07-02
87
问题
有如下程序:
#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://www.kaotiyun.com/show/plfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classTestClass{intn:public:TestClass(intk):n(k){}in
ClassA是一个类,且有如下语句序列ClassAc1,*c2;ClassA*c3=newMyClass;ClassA&c4=c1;则ClassA的构造函数被调用的次数是
有如下两个类定义:classXX{private:doublex1;protected:doublex2;public:doublex3;};classYY
有如下程序:#include<iostream>usingnamespacestd;classCD{public:~CD(){cout<<’C’;}private:charname[80];};intmain(){CDa,*
在下面的类声明中,错误的是
有如下程序:#includeusingnamespacestd;classA{public:A(){cout
设程序如下:#includeusingnamespacestd;intmain(){int**p,*q,r=10;q=&r;p=&q;cout
有如下程序:#include<iostream>usingnamespacestd;classVAC{public;intf()const{return3;}intf(){return5;}};Intmain(){VAC
已知有数组定义chara[3][4];下列表达式中错误的是()。
下面不属于软件设计阶段任务的是()。
随机试题
试述实施实质性程序的总体要求。
Areyou(going)downtown(thisafternoon)?Iam(goingtohave)theseletters(mail).
A.清热化湿解毒B.清热凉血解毒C.散寒燥湿化浊D.温中理脾E.温补固涩
小儿易发生肠套叠的主要原因是()。
下列工程项目风险管理工作中,属于风险识别阶段的工作是()。
小规模纳税人购进货物支付的增值税直接计入有关货物的成本。()
一般情况下,在一次训练课中力量练习的顺序是()。
对于全国人民代表大会代表的认识,下列说法正确的是()。
设f″(x)连续,f(x)≠0,则dx=____________.
WithateamoftheresearchersatTokyoNationalUniversity,hesetaboutmeasuringbrainvolumesofathousandpeopleofdiffer
最新回复
(
0
)