首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Obj{ static int i: public: Obj(){i++;) ~Obj(){i一;) st
有如下程序: #include using namespace std; class Obj{ static int i: public: Obj(){i++;) ~Obj(){i一;) st
admin
2014-08-29
53
问题
有如下程序:
#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(){
0bj obl;
f();
Obj*ob3=new Obj;cout<
getVal();
delete ob3;cout<
return ();
)
程序的输出结果是( )。
选项
A、232
B、23 1
C、222
D、221
答案
D
解析
此题考查的是静态成员。奉题中,Obj类定义了一个静态数据成员i,并初始化为0.在主函数中,首先定义了1个该类对象obl,所以构造函数被调用1次,i加1:然后调用函数f(),该函数中又定义了一个对象ob2,此时i再次加l变为2,然后通过函数getval()输出i的值2。f()函数结束,ob2变量被释放,故析构函数被调用了1次,i变成l;回到主函数中,又动态创建了1个对象并让ob3指向它,此后i变成2并输出。最后释放动态创建的对象i变为1,输出1。故最终的输出结果是22l。
转载请注明原文地址:https://kaotiyun.com/show/TWNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的运行结果是【】。#include<iostream.h>voidmain(){chars[]="9876",*p;for(p=s;p<s+2;p++)cout<
下面是关于派生类声明的开始部分,其中正确的是()。
对建立良好的程序设计风格,下面描述正确的是()。
按照标识符的要求,下列选项中,()符号不能组成标识符。
假定MyClass为一个类,则执行MyClassab(2),*p;语句时,自动调用该类构造函数()次。
通过______调用虚函数时,采用动态束定
下列选项中不属于软件生命周期开发阶段任务的是()。
栈和队列通常采用的存储结构是【】。
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*cp的值是()。
随机试题
可使肥厚性梗阻型心肌病的心脏杂音减弱的药物是
下列哪个位置一般不发生血管神经性水肿
梅女士,29岁,未婚,无明显症状,但自己摸到下腹一肿块来妇科就诊。张医生阅读了实验室报告后,确诊为浆膜下子宫肌瘤,为其制订的治疗方案是
下列逻辑关系中,不正确的是()。
影响净资产收益率的因素有()。
提出“学而不思则罔,思而不学则殆”思想的中国古代教育家是()。
把社会上绝大多数人承认的意见视为真理,这是()。
下列叙述中错误的是
Highstreetshopsuseavarietyofmeanstoattractshoppers,suchasstrikingwindowdisplays,hugered"Sale"signsandspecia
A、TelevisionviewingmaybeapotentialfactorforAlzheimer’sdisease.B、Alzheimer’spatientstendtowatchtelevisionmoretha
最新回复
(
0
)