首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
32
问题
有如下程序:
#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全国计算机二级
相关试题推荐
if语句的语法格式可描述为:格式1:if()或格式2:if()else关于上面的语法格式,下列表述中错误的是()。
若要对类Value中重载的类型转换运算符long进行声明,下列选项中正确的是
下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是()。
下列关于模板形参的叙述中,错误的是
已知表达式--a中的"--"是作为成员函数重载的运算符,则与--a等效的运算符函数调用形式为
下列选项中,与实现运行时多态性无关的概念是
在软件开发中,需求分析阶段可以使用的工具是( )。
在软件设计中不使用的工具是( )。
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是
随机试题
Manyayoungscientist____________engagedintheresearchwork.
单侧唇裂整复术的较颌适的年龄在3~6个月;目前,多主张在18个月左右行腭裂整复术;牙槽突裂的手术治疗在9~11岁行自体骨移植。
慢性支气管炎所致慢性肺气肿多为
根据《质量管理体系基础与术语》(GB/T19000—2008/ISO9000:2005),建设工程质量控制的定义是()。
企业集团内母公司向子公司的高管人员授予以其本身权益工具结算的股份期权,接受服务企业没有结算义务,接受服务企业应当将该股份支付交易作为权益结算的股份支付进行会计处理。()
车轮:汽车:运输
建立治安防范制度,通过治安信息的收集与分析,不断提高对治安危害的预见性,加强超前控制。()
有人说“大学生村官是飞鸽牌,不是永久牌,不利于农村发展的持续性”。简要评述这一观点。
设曲线y=ax2与y=lnx相切,两曲线及x轴所围图形为D求D绕y轴旋转一周所得旋转体的体积V
(清华大学2008年试题)ThechangesingloballyaveragedtemperaturethathaveoccurredattheEarth’ssurfaceoverthepastcenturya
最新回复
(
0
)