首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序段: #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
126
问题
有如下程序段:
#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全国计算机二级
相关试题推荐
在一个程序文件中有如下语句:externintvar;关于这个语句,下列表述中错误的是
下列叙述中正确的是( )。
用于定义类的必不可少的C++关键字是
有如下类定义和变量定义:classA{public:A(){data=0;}~A(){}intGetData()const{ret
有如下程序:#includeusingnamespacestd;classAA{intk;protected:intn;voidsetK(intk){this->k=k;}public:voidsetN(intn
关于函数声明格式中的,下列叙述错误的是
结构化程序设计中,下面对goto语句使用描述正确的是
下列有关类成员的叙述中,正确的是
假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外三条语句不同的语句是()。
有如下语句序列:ifstreaminfile("DATA.DAT");if(infile.good())cout<<"A";else{cout<<"B";ofstreamoutfile("DATA.DAT");if(outfile.fail
随机试题
青年,男性。因交通事故致左膝关节开放伤一小时就诊。X线示胫骨外侧平台斜型骨折,骨折线过髁间嵴,即入院急诊手术。当创口工期愈合,关节无感染,骨折连接后主动活动时,膝关节疼痛、不稳。再次检查发现:前抽屉试验阳性伴前外侧旋转不稳定。这时可能漏诊的损伤是
无臭,味苦,嚼之有黏性药材为( )。
伴有消化性溃疡的高血压患者,宜选用()。
低压电动机在正常运行、正常起动或自起动时,主回路低压断路器的脱扣器不应误动作。请问电动机保护型低压断路器时瞬动过电流脱扣器的整定电流应取()。
在股指期货套期保值中,当现货总价值和每份期货合约的价值确定时,β系数越大,所需买卖的期货合约数就越多。( )
下列属于刘天华创作的琵琶曲是()。
男性,25岁,因车祸撞伤腹部,病人诉腹痛难忍,伴恶心呕吐,X线腹透见膈下游离气体,拟为胃肠道外伤性穿孔。简述对该病人的处理原则。
三个小朋友在商量玩什么游戏。小明:如果不打篮球,那么也不踢足球。小强:如果不踢足球,那么打篮球。小伟:要么打篮球,要么踢足球。以下诸项中,同时满足三个小朋友意见的方案是:
Ifyou’vegotanearforlanguages,askillofcodingorasteadyhandanddon’tfaintatthesightofbloodthenyourcareerlo
A、Onlychildren.B、Onlyadults.C、Onlyoldpeople.D、Peopleofallages.D
最新回复
(
0
)