首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Obj{ static int i; public: Obj(){i++;} ~Obj(){i
有如下程序: #include<iostream> using namespace std; class Obj{ static int i; public: Obj(){i++;} ~Obj(){i
admin
2020-11-11
20
问题
有如下程序:
#include<iostream>
using namespace std;
class Obj{
static int i;
public:
Obj(){i++;}
~Obj(){i--;}
static hat getVal(){return i;}
};
int Obj::i=0;
void f(){Obj ob2;cout<<ob2.getVal();}
int main(){
Obj ob1;
f();
Obj*ob3=new Obj;cout<<ob3->getVal q();
delete ob3;cout<<Obj::getVal();
return 0;
}
程序的输出结果是( )。
选项
A、232
B、231
C、222
D、221
答案
D
解析
此题考查的是静态成员。本题中,Obj类定义了一个静态数据成员i,并初始化为0在主函数中,首先定义了1个该类对象ob1,所以构造函数被调用1次,i加1;然后调用函数f(),该函数中又定义了一个对象ob2,此时i再次加1变为2,然后通过函数getVal()揄出i的值2。f()函数结束,ob2变量被释放,故析构函数被调用了1次,i变成1;回到主函数中,又动态创建了1个对象并让ob3指向它,此后i变成2并输出。最后释放动态创建的对象i变为1,输出1。故最终的输出结果是221。
转载请注明原文地址:https://jikaoti.com/ti/Q7l0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:number1=anumber2=anumber1=anumber2=b注意:错误的语句
若有以下定义,说法错误的是()。inta=100,*p=&a:
下列运算符中不能在C++中重载的是()。
使用输入输出操作符setw,可以控制
有如下程序: #include <iostream> #include <iomanip> using namespace std; int main() { cout.fill(’*’); c
下列枚举类型的定义中,包含枚举值3的是
软件工程的出现是由于
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成列操作,将类的定义补充完整,实现以下功能:(1)完成CBook类构造函数,对整型变量ID和作者Author进行赋值,请在注释//********1*****
设二叉树的前序序列与中序序列均为ABCDEFGH,则该二叉树的后序序列为
随机试题
Weallknowthatarrowsareoftenusedas________toshowdirections.
A.活体心血管内血液某些成分形成固体质块B.组织内过多的体液潴留C.大量气体迅速进入血液D.局部组织血流阻断E.下肢静脉血栓脱落梗死
A.0.9%氯化钠注射液B.5%葡萄糖注射液C.50%葡萄糖注射液D.复方氯化钠注射液E.低分子右旋糖酐注射液静脉注射两性霉素B的适宜溶剂是
以下关于冲突规范的说法中正确的是()
下列关于双代号时标网络计划的表述中,正确的是()。
与经纪业务相比较,自营业务在交易行为上具有非自主性。()
非柜台委托主要有()形式。
以下属于对总体环境中人口方面问题进行分析时通常会考虑的因素有()。
3/2,5/7,12/19,31/50,()
简述操作技能的形成过程。
最新回复
(
0
)