首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class obj{ static int i; publie: obj(){i++;} ~Obj(){i一一;} statie int getVal(){return i;} }
有如下程序: #include using namespace std; class obj{ static int i; publie: obj(){i++;} ~Obj(){i一一;} statie int getVal(){return i;} }
admin
2019-08-23
60
问题
有如下程序:
#include
using namespace std;
class obj{
static int i;
publie:
obj(){i++;}
~Obj(){i一一;}
statie int getVal(){return i;}
};
int obj::i=0;
void f(){Obj oh2;cout<
int main(){
obj obl;
f();
obj *oh3=new Obj;cout<
getVal();
delete oh3;eout<
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/LD8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;ClassA{public:A(){cout<<“A”;}~A(){cout<<“~A”;}};
有以下程序#include<iostream>usingnamespacestd;classBase{inta;public:Base(intx){a=x;}voi
函数重载要求重载的函数必须有和原函数一样的【】。
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为
软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指
在数据库的概念结构设计中,常用的描述工具是【】。
下列对模板的声明中正确的是()。
A、 B、 C、 D、 C纯虚函数是在声明虚函数时被“初始化”为0的虚函数。不定义对象而只作为一种基本类型用作继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。抽象类的作用是作为一个类族的共同基类。
下列关于运算符重载不正确的是
一棵二叉树第六层(根结点为第一层)的结点数最多为______个。
随机试题
肾上腺转移瘤最常见来自
甲状腺性甲亢最常见的是
岩石的变形在弹性变形范围内用()指标表示。
总承包单位将其承揽的工程依法分包给专业承包单位。工程主体结构施工过程中发生了生产安全事故,专业承包单位由此开始质疑总承包单位的管理能力,并一再违反总承包单位的安全管理指令,导致重大生产安全事故。关于本工程的安全生产管理,下列说法中,正确的有()。
服务器具有的特点有()。
下列关于学习风格的描述不正确的是()。
数据库应用系统的设计应该具有数据设计和【】功能,对数据进行收集、存储、加工、抽取和传播等。
Itissomethingyoucanwritewith.Itissomethingyoueateveryday.
Streetfoodisfoodthatisprepared,soldandeatenoncitystreets.Streetfoodisanimportantpartofthe【C1】______ofpeople
Afterintensiveresearch,scientistshaveconcludedthatpoliticianslie.InastudydescribedinBritain’sObservernewspap
最新回复
(
0
)