首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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-05-06
32
问题
有如下程序:
#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://kaotiyun.com/show/ACfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有函数模板mySwap和一些变量定义如下:()。template<classT>voidmySwap(Tx,Ty);doubledl,d2;inti1,12;下列对mySwap的调用中,错误的是
下列叙述中正确的是()。
若已经声明了函数原型“voidfun(inta,doubleb=0.0);”,则下列重载函数声明中正确的是()。
在语句"cout
设有如下关系表:则下列操作正确的是()。
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为
下列关于默认参数的叙述中,错误的是
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元
公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是()。
检查软件产品是否符合需求定义的过程称为()。
随机试题
要使窗体上的按钮运行时不可见,需要设置的属性是()。
为了缓解顾客的紧张和不安,化妆师要以轻松平和的态度谈话。()
“您回去后要注意生活规律,按时服药并在规定的时间来复查。您慢走”,属于
发生阴道自净作用的是
OGFC混合料抗滑性能优异,主要是由于其空隙率较大,排水能力较好。()
检验检疫机构对注册厂、库监督检查时,发现其违反《卫生要求》和有关《卫生规范》规定的,应当责令其限期整改,情节严重的,可以作出警告,暂停接受报验、停产整顿、直至吊销注册证书的处罚。( )
某企业出售一栋生产用厂房,取得处置价款2000万元。该厂房原值2500万元,已提折旧800万元,已提减值准备100万元。不考虑相关税费,则下列表述中正确的是()。
A、 B、 C、 D、 B
Motherscanbeseenleavingsupermarketswithtrolleyspiledhighwith"junkfood".Theirfamiliesareeatingfarmorecalories
Whenwethinkofgreenbuildings,wetendtothinkofnewones—thekindofhigh-tech,solar-paneledmasterpiecesthatmakethec
最新回复
(
0
)