首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序段: #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
65
问题
有如下程序段:
#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://jikaoti.com/ti/0yl0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
运算符重载是对已有的运算符赋予多重含义,因此()。
有如下类定义和变量定义:classA{public:A(){data=0;}~A(){}intGetData()const{ret
有如下程序:#includeusingnamespacestd;classAA{intk;protected:intn;voidsetK(intk){this->k=k;}public:voidsetN(intn
下列关于运算符重载的叙述中,正确的是
若实体A和B是一对一的联系,实体B和c是多对一的联系,财实体A和c的联系是()。
设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为()。
有如下语句序列:ifstreaminfile("DATA.DAT");if(infile.good())cout<<"A";else{cout<<"B";ofstreamoutfile("DATA.DAT");if(outfile.fail
下列符号中能够作为c++标识符的是()。
随机试题
女,53岁,近2~3年来月经不调,表现为周期延长,经量增多且淋漓不净,此次停经3个月,阴道出血10余天,量多,给予诊刮止血,刮出物组织学检查为子宫内膜腺瘤样增生过长。其可能的诊断为
水痘风热轻证的治疗原则是:
女性,20岁,反复发作喘息、呼吸困难、咳嗽2年。体检:双肺散在哮呜音,心脏无异常。下列检查结果中有助于明确诊断的是
未经国务院银行业监督管理机构的批准,任何单位和个人不得从事吸收公众存款等商业银行业务,这表明在我国对经营存款业务实行的是()。
商业银行外来资金的形成渠道包括()。
下列中国传统屋顶中,级别最高的是()。
Ioftendreamofateacher,Idreamofstandingonthe【M1】______platformintheclassroomandgivelessonstolovelyboys【M2】
教师要公正平等地对待学生,其中意味着()。
感冒:病毒:传染
JeniseNyby
最新回复
(
0
)