首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
2020-07-23
21
问题
有如下程序:
#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://jikaoti.com/ti/E6l0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include#includeusingnamespacestd;classAppliance{public:Applia
在C++中,编译系统自动为一个类生成默认构造函数的条件是
有如下函数定义:voidswap(inta,int&b){intc=a;a=b;b=c;}若执行语句序列intx=0,y=1;swap(x,y);则变量x和y的值分别是
下列有关虚函数的表述中正确的是
下列关于函数模板的表述中,正确的是
若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为
下列选项中,不是C++关键字的是
下面不属于软件需求分析阶段主要工作的是
下面不属于软件设计阶段任务的是()。
随机试题
某外国公司驻北京办事处的以下行为中,哪些违反了我国公司法的规定?()
以下处理不利于预防术后肺不张的是
关于翼点的描述,正确的是
焦虑性神经症发作有两种形式,一种为广泛性焦虑障碍,另一种为
下列各项的会计处理应在“应付职工薪酬”科目核算的有()。
正方形ABED和A’B’C’D,中,侧面对角线AC与BE’所成的角等于()。
HenryKissingermaybethemostsuccessful,certainlythemostflamboyant,SecretaryofStatetoholdthatofficeinmoderntime
Thestudentcannotregisterbecause______.
(1)Thisfishingvillageof1,480peopleisableakandlonelyplace.SetonthesouthwesternedgeofIceland,thevolcanicland
SydneyOperaHousemustbeoneofthemostrecognizableimagesofthemodemworld—uptherewiththeEiffelTowerandtheEmpire
最新回复
(
0
)