首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序段: #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
70
问题
有如下程序段:
#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全国计算机二级
相关试题推荐
有如下程序:#include#includeusingnamespacestd;classWheel{public:Wheel(strings=
有如下两个类定义:classXX{private:doublex1;protected:doublex2;public:
有如下程序:#includeusingnamespacestd;intmain(){voidfunction(doubleval);doubleval;function(val);cout
在软件开发中,需求分析阶段可以使用的工具是( )。
下列关于return语句的叙述中,正确的是
已知Value是一个类,value是Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是()。
下列叙述中正确的是( )。
T列符号中能够作为C++标识符的是()。
执行语句序列()。inti=0;while(i<25)i+=3;cout<<i;输出结果是
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,其功能是:把低于平均分的学生数据放入b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。注意:部分源程序给出如下。请勿改动
随机试题
红绛舌,黄瓣苔,多属
不包括在处方结果的核心部分内的是
某检测机构对一新型食品添加剂进行二阶段毒理学安全性鉴定。急性经口毒性试验结果表明,其一次最大耐受剂量>5000mg/kg,属无毒类。现进入第二阶段试验。现采用平板掺入法检测该化学物质致突变性,应将待测物加予()
上述哪项符合代偿性呼吸性酸中毒()
下列有关肛门栓剂的叙述,正确的是()。
甲公司2014年至2019年发生以下交易或事项:2014年12月31日购入一栋办公楼,实际取得成本为6000万元。该办公楼预计使用年限为20年,预计净残值为零,采用年限平均法计提折旧。因公司迁址,2017年6月30日甲公司与乙公司签订租赁协议。该协议约定
我国已开放赴澳大利亚旅游。与澳大利亚人交往应特别注意的事项是()。
三朵节是()的节日。
构建人类命运共同体既是中国外交的崇高目标,也是世界各国的共同责任和历史使命。为了实现这个崇高目标,我们应该()
Suchwritingsaregoodfornothing______thenaive,amongwhomtheyspreadbadinfluencesandfosterbadhabits.
最新回复
(
0
)