首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class obj { static int i; public: obj(){i++;} ~obj(){i--;}
有如下程序: #include using namespace std; class obj { static int i; public: obj(){i++;} ~obj(){i--;}
admin
2017-12-14
17
问题
有如下程序:
#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/fkAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
仅由顺序、选择(分支)和重复(循环)结构构成的程序是【】程序。
有如下程序:#includeusingnamespacestd;classMusic{public:voidsetTitle(char*str){strcpy(title,str);}pr
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为______。
下列数据结构中具有记忆作用的是
在32位的计算机中,一个char型数据所占的内存长度的字节是
有如下函数模板定义:template<classT>Tfunc(Tx,Ty){returnx*x*y*y;)在下列对func的调用中,错误的是
如果要把返回值为void的函数A声明为类B的友元函数,则应在类B的定义中加入的语句是______。
下列字符串中,正确的C++标识符是()。
下列选项中合法的用户标识符是()。
下列符号中可以用作C++标识符的是()。
随机试题
Whyisthewomanrelieved?
法律规范的构成要素包括()
人体感染寄生虫后,既没有临床表现,又不易用常规方法检获病原体的一种寄生现象属于
女,30岁。产后3周,右乳疼痛2天。右乳局部皮肤红肿明显,可触及一4cm大肿块,有压痛。该患者最可能的诊断是
下列有关国家职务关系的表述,哪些是正确的?()
根据《独立审计准则》,被审计单位应对其提供的注册会计师所需要的()的真实性、完整性、合法性负责。
西方货币政策传导机制理论中,用P→W→C→Y表示财富传导机制的传导过程,其中的C表示的是()。
Inrecentyearsmuchmoreemphasishasbeenput______developingthestudents’productiveskills.
计算其中D是由圆周x2+y2=4,x2+y2=1及直线y=0,y=x所围的位于第一象限的闭区域.
Whataregutfeelings?Theword"spice"inparagraphSixisclosestinmeaningto
最新回复
(
0
)