首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序段: #include<iostream> using namespace std; class base { public: base(int cnt) { resource=new int[ent]; } ~base() { delete[]
有如下程序段: #include<iostream> using namespace std; class base { public: base(int cnt) { resource=new int[ent]; } ~base() { delete[]
admin
2020-07-23
74
问题
有如下程序段:
#include<iostream>
using namespace std;
class base
{
public:
base(int cnt)
{
resource=new int[ent];
}
~base()
{
delete[]resource;
}
virtual void show()
{
cout<<"base"<<endl;
}
int*resource:
};
class derived:public base
{
public:
derived(int cnt):base(cnt)
{
resource=new float[cnt];
}
~derived()
{
delete[]resource;
}
void show()
{
cout<<"derived"<<endl;
}
float*resource;
};
上述程序使得derived对象中的动态内存空间有可能不被释放,有内存泄漏风险,原因是( )。
选项
A、base类是抽象类
B、derived类的析构函数没有释放基类的动态内存
C、base类的析构函数不是虚函数
D、derived类的reSotlrce与公有继承得到的resource同名
答案
C
解析
基类base中的数据成员resource为整型指针变量,派生类derived中的数据成员resource与基类base中的同名,但类型为浮点型指针变量,基类base中构造函数使用new为resource(整型指针)分配了内存空间,在析构函数中释放;派生类derived的构造函数在成员初始化类表中调用base的构造函数构造对象的基类部分,然后在构造函数体内使用new为resource(浮点型指针)分配了内存空间,在析构函数中释放浮点型resource指针;由于基类base中的析构函数未定义为虚函数,所以派生类derived中的析构函数在被调用时,不会再调用基类base中的析构函数,导致基类base中的整型指针变量resource无法释放,造成内存泄漏。故本题答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/pGyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下两个类定义:classAA{BB*v1;};classBB{AA*v2;BB*v3;int*v4;};
有如下类定义:classFoo{public:Foo(intv):value(v){} //①~Foo(){} //②private:Foo(){}
在软件开发中,需求分析阶段可以使用的工具是( )。
有如下程序:#includeusingnamespacestd;classGA{public:virtualintf(){return1;}};classGB:publicGA{public:virtuali
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
有如下程序段:inti=1;while(1){i++;if(i==30)break;if(i%3==0)cout
某二叉树中有15个度为1的结点,16个度为2的结点,则该二叉树中总的结点数为
下列有关类成员的叙述中,正确的是
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
随机试题
portalarea
寿眉和贡眉的主要区别是原料老嫩和等级的区别
金属材料充填体对牙髓造成的刺激作用主要是材料的
哪些碱基对会出现在DNA中
根据宪法和法律,下列机关中有权处理县与县之间行政区域边界争端的是:()
下列会计事项中,应计入其他业务成本的有()。
企业对应付的银行承兑汇票,如果到期不能付款,在会计处理上应转作()。
政府在对公共物品制定价格进行管理时,应遵循的原则有()。
WhatIsAnthrax?There’sbeenalotoftalkaboutanthraxonthenewslately.Somepeoplearewordedthatanthraxmaybeconn
A、Shehastopostaletterinstead.B、Shehastoturndowntheman’srequest.C、She’snotsureifthecomputerisfixed.D、Shec
最新回复
(
0
)