首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Obj{ static int i; public: Obj(){i++;} ~Obj(){i--;} stat
有如下程序: #include using namespace std; class Obj{ static int i; public: Obj(){i++;} ~Obj(){i--;} stat
admin
2021-06-10
63
问题
有如下程序:
#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<<ob2.getVal();}
int main(){
Obj ob1;
f();
Obi*ob3=new obj:cout<<ob3->getVal();
delete oh3:cout<<Obj::getVal();
return 0;
}
执行这个程序的输出结果是( )。
选项
A、232
B、231
C、222
D、221
答案
D
解析
本题考查构造函数和析构函数的调用顺序,调用顺序为先构造的后析构,后构造的先析构。本题中先定义了一个对象obl,会执行构造函数,那么i就变为了1;再执行函数f后,由于又定义了一个对象ob2,所以再次执行构造函数,i就变为了2,输出了2。函数执行完后执行析构函数,i变为了1,然后又定义了对象指针,i变为了2。释放ob3后,i变为了1,所以答案为D。
转载请注明原文地址:https://www.kaotiyun.com/show/fVfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知TV是一个类,并有函数func定义如下:voidfunc(){TVli,*net[2],company[3];}则在调用func()后,TV类的析构函数被调用的次数是
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp,其中定义了CharShape类、Triangle类和Rectangle类。CharShape是一个抽象基类,它表示由字符组成的图形(简称字符图形),纯虚函数
下列叙述中正确的是()。
下列关于栈的描述中正确的是()。
下列选项中,与实现运行时多态性无关的是()。
下列关于模板的叙述中,正确的是()。
字符串“a+b=12\n\t”的长度为()。
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。
下面描述中,不属于软件危机表现的是
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序,使函数fun()实现以下功能:找出一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少?程序分析:在10万以内
随机试题
进口国可以利用配额贯彻国别政策的是()
氧合状况与放射敏感性的关系
酚妥拉明引起心脏兴奋的机理是
医疗事故技术鉴定专家鉴定组综合分析医疗过失行为在导致医疗事故损害后果中的作用、患者原有疾病状况等因素,判定医疗过失行为的责任程度。责任程度分为()种
中华人民共和国护照分为()。
认同的出发点就是()。
从所给的四个选项中,选出一个填在问号处,使之呈现一定的规律性:
在标准ASCⅡ码表中,英文字母a和A的码值之差的十进制值是______。
•ReadthearticlebelowaboutanItaliancarcompany.•ChoosethebestwordtofilleachgapfromA,B,CorD.•Forea
Thereisnodenyingthatstudentsshouldlearnsomethingabouthowcomputerswork,justasweexpectthematleasttounderstand
最新回复
(
0
)