首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
75
问题
有如下程序:
#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://kaotiyun.com/show/fVfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于默认参数的叙述中,错误的是
请打开考生文件夹下的解决方案文件proj3,其中声明了MiniComplex是一个用于表示复数的类。请编写这个operator+运算符函数,以实现复数的求和运算。两个复数的和是指这样一个复数:其实部等于两个复数的实部之和,其虚部等于两个复数的虚部之和。例如
请打开考生文件夹下的解决方案文件proj3,其中声日月的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sod函数。程序的正确输出应为:排序前:7,1,3,11.6,9,12,10,8
下列关于析构函数的描述中,错误的是()。
有如下程序:#includeusingnamespacestd;classA{public:A(){cout
有如下程序:#includeusingnamespacestd;classPoint{public:staticintnumber;public:Pointo{number++
在软件设计中,不属于过程设计工具的是()。
下列字符串中,正确的C++标识符是()。
下面不属于软件设计阶段任务的是
软件需求规格说明书的作用不包括()。
随机试题
某患者需要静脉输入2500ml液体,滴速为60滴/分,则该患者输完液体需要【】
A、CEAB、AFPC、PSAD、CA15-3E、CA125与卵巢癌有关的是
房地产市场的特性不包括()。
简述教育与生产力的关系。
国有资产的投资者与所投资企业之间的关系是()。
工业革命开始以后,化石燃料(煤炭、石油、天然气)的燃烧量越来越大,使大气中二氧化碳的浓度不断增加。同时,雷击、虫害、砍伐造成的森林火灾、草地衰退和森林破坏也使能够吸收二氧化碳的绿色植物遭到破坏。所以,要控制全球变暖,必须改变能源结构,大力植树造林。有科学家
关于B一树,下列说法中不正确的是()。
[*]
Toforgiveisavirtue,butnoonehaseversaiditiseasy.Whensomeonehasdeeplyhurtyou,itcanbeextremelydifficultto
Therearetwotypesofpeopleintheworld.Althoughtheyhave【B1】______degreesofhealthandwealthandothercomfortsoflife,
最新回复
(
0
)