首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序段: #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
16
问题
有如下程序段:
#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://kaotiyun.com/show/aifp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列叙述中正确的是()。
要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,一88,0和0,则下列定义语句中错误的是()。
阅读下面程序:#include<iostream.h>fun(inta,intB.{intc;c=a+b:returnC;}voidmain(){intx=6,y=
下列关于函数参数的叙述中,正确的是()。
在软件开发中,需求分析阶段产生的主要文档是()。
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是
下列关于文件流的描述中,正确的是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Employee类和Manager类。Em-ployee用于表示某公司的雇员,其属性包括姓名(name)和工作部分(dept)。Manager是Employee的公有派生类
有如下头文件:intf1();staticintf2();classMA{public:intf3();staticintf4();friendintf1();friendstat
随机试题
注册会计师对库存现金进行盘点,主要证实的认定是()
工程网络计划的计划工期应()。
主要技术经济指标是对确定的施工方案及施工部署的( )进行全面的评价。
已知函数(a∈R),若函数f(x)的图象上点P(1,m)处的切线方程为3x-y+6=0,则m的值为______。
根据以下情境材料,回答以下问题。新生派出;所位于老城区,治安环境复杂。为了确保安全。派出所组织两个巡逻组,不间断地对辖区进行巡逻。一组是车巡组,共3人,开一辆警车,负责白天主干道的巡逻;二组是步巡组,共3人,负责夜间支街背巷的巡逻。该所一周警情记
左边给定的是纸盒的外表面,下面哪一项能由它折叠而成?
我国的程序法律部门包括诉讼法与非诉讼程序法。其中,非诉讼程序法是规范仲裁机构或者调解组织解决社会纠纷的法律规范。我国的非诉讼程序法有
A、 B、 C、 D、 A路由选择算法与路由选择协议是两个不同的概念。网络上的主机、路由器通过路由选择算法形成路由表,以确定发送分组的传输路径,而路由选择协议是路由器用来完成路由表建立和路由信息更新的通信协议
下述哪一条不是由于关系模式设计不当而引起的______。
VoyagetoAntarcticaAntarcticaisnotaneasyplacetogetto,butincreasingnumbersofpeoplevisitAntarcticaeveryyear
最新回复
(
0
)