首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class obj{ static int i; publie: obj(){i++;} ~Obj(){i一一;} statie int getVal(){return i;} }
有如下程序: #include using namespace std; class obj{ static int i; publie: obj(){i++;} ~Obj(){i一一;} statie int getVal(){return i;} }
admin
2019-08-23
22
问题
有如下程序:
#include
using namespace std;
class obj{
static int i;
publie:
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;eout<
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://kaotiyun.com/show/LD8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
不能重载的运算符是( )。
有以下程序#include<iostream>usingnamespacestd;classBase{inta;public:Base(intx){a=x;}vuid
队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作______。
在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是
如果表达式--x中的“—”是重载的类运算符,采用运算符函数调用格式,其表达式还可以表示为______。
关于关键字class和typename,下列表述正确的是______。
C++语言中类定义中默认的访问权限是
对于模板定义关键字class和typename说法不正确的是
在关系数据库中,用来表示实体之间联系的是
随机试题
运用成本逼近法评估地价时,确定宗地开发程度的依据有()
大面积烧伤现场急救时,下列哪种情况最需要气管切开后方可安全转院()。
A.代脉B.促脉C.涩脉D.缓脉E.结脉脉来时有一止,止有定数,良久方来的脉象为
下列关于房地产市场特性的表述中,说房地产市场具有()是不正确的。[2004年考题]
游泳池和地上水池的水下灯只允许选用标称电压不超过12V的安全超低压供电。()
油断路器的安装程序中,断路器本体安装的紧后工序是()。
基金客户服务是基金营销的重要组成部分,目前通过7种方式来实现并优化客户服务,主要有()。
将旅游经济效益分为局部效益和整体效益的划分依据是()。
将“飞机——箱子”想象为“飞机穿过箱子”的记忆术是()。
PeopleintheUnitedStatesinthenineteenthcenturywerehauntedbytheprospectthatunprecedentedchangeinthenation’seco
最新回复
(
0
)