首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序段: #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
40
问题
有如下程序段:
#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全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classA{public:virtualvoidf(){cout<<1;}void>>g(){cout<<2;}};classB:public
有如下类声明:classMyBASE{intk;public:voidset(intn){k=n;}intget()const{returnk;}};c
有如下程序:#inc1ude<iostream>usingnamespacestd;voidfunction2(intn);voidfunctionl(intn){if(n<=0)return;
若磁盘上已存在某个文本文件,其全路径文件名为d:\ncre\test.txt,下列语句中不能打开该文件的是()。
有如下程序:#include<iostream>#include<cstring>usingnamespacestd;classXCD{char*a;intb;public:XCD(char*aa,intbb){a=new
有如下定义:inta[5]={1,3,5,7,9},*p=a;下列表达式中不能得到数值5的是()。
下列关于函数参数的叙述中,正确的是()。
设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ。则按层次输出(从上到下,同一层从左到右)的序列为
对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是()。
下列控制格式输入/输出的操作符中,能够设置浮点数精度的是()。
随机试题
2020年,由软件产品、信息技术服务、信息安全产品和服务、嵌入式系统软件四大业务形态构成的我国软件和信息技术服务业持续恢复,收入保持较快增长,信息技术服务加快云化发展,软件应用服务化、平台化趋势明显。2020年,软件产品实现收入22758亿元,同
碳酸盐岩是以()类矿物为主要成分的岩石。
关于支气管哮喘发作的临床表现,下列哪项不正确
下列关于深Ⅱ度烧伤的叙述,不正确的是()
膜性肾小球肾炎的主要病理特点是
下列哪项疾病不把肾脏CT检查作为首选?()
实行电算化的单位的现金日记账和银行存款日记账要求()。
如下图所示,在某DHCP客户机上捕获了6个报文,并对第5条报文进行了解析。分析图中信息并回答下列问题。该客户机获取的IP地址是【11】。
A、B、C、D、C
Forcenturies,immigrantshavecometoAmericaseekingthepromiseoflife,liberty,andthepursuitofhappiness.Somecamefl
最新回复
(
0
)