首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序段: #include using namespace std; class base { public: base(int cnt) { resource=new int[cnt]
有如下程序段: #include using namespace std; class base { public: base(int cnt) { resource=new int[cnt]
admin
2021-07-02
17
问题
有如下程序段:
#include
using namespace std;
class base
{
public:
base(int cnt)
{
resource=new int[cnt];
}
~base()
{
delete[]resource;
}
virtual void show()
{
cout<<"base"<
}
int*resource:
};
class derived:public base
{
public:
derived(int cnt):base(cnt)
{
resource=new float[cnt];
}
~derived()
{
delete[]resource;
}
void show()
{
COUt<<"derived"<
}
float*resource;
};
上述程序使得derived对象中的动态内存空间有可能不被释放,有内存泄漏风险,原因是( )。
选项
A、base类是抽象类
B、derived类的析构函数没有释放基类的动态内存
C、base类的析构函数不是虚函数
D、derived类的resource与公有继承得到的resource同名
答案
C
解析
基类base中的数据成员resouree为整型指针变量,派生类derived中的数据成员resource与基类base中的同名,但类型为浮点型指针变量,基类base中构造函数使用new为resource(整型指针)分配了内存空间,在析构函数中释放;派生类derived的构造函数在成员初始化类表中调用base的构造函数构造对象的基类部分,然后在构造函数体内使用new为resource(浮点型指针)分配了内存空间,在析构函数中释放浮点型resource指针;由于基类base中的析构函数未定义为虚函数,所以派生类derived中的析构函数在被调用时,不会再调用基类base中的析构函数,导致基类base中的整型指针变量resource无法释放,造成内存泄漏。故本题答案为C选项。
转载请注明原文地址:https://jikaoti.com/ti/Ujh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在软件开发中,需求分析阶段产生的主要文档是()。
有如下类声明:classMyBASE{intk;public:voidset(intn){k=n;}intget()const{returnk;}};c
下列关于类模板的描述中,错误的是()。
下列程序的输出结果为2,横线处应添加语句()。#include<iostream>usingnamespacestd;classTestClass1{public:voidfun(
有如下程序#include<iostream>usingnamespacestd;classTest{public:Test(){}Test(constTest&t){cout<<1;}};Testfun(Test&u){Tes
以下程序的输出结果是()。#include<iostream>usingnamespacestd;voidfun(char**q){++q;cout<<*q<<end1;}
在下列函数原型中,可以作为类AA构造函数的是()。
数据库设计中反映用户对数据要求的模式是()。
下列控制格式输入/输出的操作符中,能够设置浮点数精度的是()。
随机试题
A.虚烦少寐B.心悸盗汗C.两者都选D.两者都不选酸枣仁汤的主治有
以下关于破伤风患者的叙述哪项是错误的
A.2%B.3%C.0.5%D.5%E.1%《中药饮片质量标准通则(试行)》中规定树脂类含杂质不得超过
既是我国农村经济制度的基础,也是农村集体经济组织经营方式的基础是()。
经济全球化促使世界主要国家实力对比关系发生深刻变化,出现强与弱、盛与衰的实力转换,国际角色与位序的______,最终会导致国际社会中的权力分配结构产生调整。同时,彼此间的机制化、制度化、常态化的______与相互协调已经成为处理国家间关系、解决国家间经济利
关于刑事管辖权,下列说法正确的是()。
下面关于网络信息安全的一些叙述中,不正确的是
决定标签内容显示位置的属性是()。
Afterthebirthofmysecondchild,Igotajobatarestaurant.Havingworkedwithanexperienced【C1】______forafewdays,Iw
A、Beinginitiative.B、Beingabletoleadateam.C、Beingdynamic.D、Beingabletoprettilyusepower.B本题问“女士说的‘peopleskills’是什
最新回复
(
0
)