首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Obj { static int i; public: Obj() { i++; } ~Obj() { i--; } static int getVal() { ret
有如下程序: #include using namespace std; class Obj { static int i; public: Obj() { i++; } ~Obj() { i--; } static int getVal() { ret
admin
2020-07-23
47
问题
有如下程序:
#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/NQyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classAppliance{public:Appliance(){}
有如下类定义:classCup{public:_______________//构造函数声明private:doubleprice;
下面是一个模板声明的开始部分:templatedouble…由此可知()。
有如下程序:#includeusingnamespacestd;intfun1(intx){return++x;}intfun2(int&x){re
下列关于模板形参的叙述中,错误的是
有如下类定义:classShape{public:___________________//虚函数Draw的声明};横线处缺失的虚函数Draw的声明是
在公有继承的情况下,在派生类中能够访问的基类成员包括
下列关于函数模板的表述中,正确的是
已知函数f1调用函数f2,若要把这两个函数的定义放在同一个文件中,则
在软件开发中,需求分析阶段产生的主要文档是( )。
随机试题
通过个人的活动与努力而获得的社会角色称为()
下列疾病中,最常出现Ⅱ型呼吸衰竭的是
(2004)现浇钢筋混凝土剪力墙结构。当屋面有保温或隔热措施时,伸缩缝的最大间距为以下何值?
商品经济产生和发展所需的经济条件包括()。
在有关科学实践中,没有使用_________的仪器,经过_________的调查,进行_________的论证,往往很难得出正确的结论。填入划横线部分最恰当的一项是:
2003年,甲与丙的年龄之和正好是乙年龄的2倍。2008年,甲的年龄是丙年龄的3倍。2017年,甲的年龄是丙年龄的2.4倍。问2015年,乙的年龄是甲年龄的:
结构化程序设计风格强调的是()。
执行下列程序之后,变量n的值为______。publicclassTest{publicstaticvoidmain(String[]args){inty=
Whatinformationdoesthemanprovidethewoman?
A、Sheisverynice.B、Sheisanurse.C、Sheisyoung.D、Shedoesthingswell.B问题问的是你妹妹是做什么。B项“她是一名护士”是对职业的提问的回答,与问题吻合。A项“她人很好”是
最新回复
(
0
)