首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序段: #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
28
问题
有如下程序段:
#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://www.kaotiyun.com/show/aifp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#inc1ude<iostream>usingnamespacestd;c1assB{public:virtualvoidf(){cout<<"B";}voidg(){co
有两个关系R和S如下:由关系R通过运算得到关系S,则所使用的运算为
一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为()。
下列叙述中错误的是
下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是()。
以下程序的输出结果是()。#include<iostream>usingnamespacestd;voidfun(char**q){++q;cout<<*q<<end1;}
有如下程序:#include<iostream>usingnamespacestd;intmain(){inti,s=0;for(i=1;s<20;i+=2)s+=i*i;cout
有如下类定义:classFoo{public:Foo(intv):value(v){}//①~Foo(){}//②private:
有如下头文件:intfl();staticintf2();c1assMA{public:intf3();staticintf4();};在所描述的函数中,具有隐含
下列关于数据库设计的叙述中,正确的是()。
随机试题
今者臣来,见人于大行(大路),方北面而持其驾,告臣曰:“我欲之楚。”臣曰:“君之楚,将奚为北面?”曰:“吾马良。”臣曰:“马虽良,此非楚之路也。”曰:“吾用(资财)多。”臣曰:“用虽多,此非楚之路也。”曰:“吾御者善。”此数者愈善,而离楚愈远耳。乘车人
患者,女,20岁,主诉自初中毕业后,越来越不能与陌生人接触,近1年来发展为见到熟人也紧张不敢与之说话,且一说话就脸红。对于该患者,心理治疗首选的方法为
某电气安装工程项目,业主与某电力工程公司签订了工程项目总承包合同,该工程项目的变压器采用自耦式变压器(容量为800kVA),电动机采用三相异步电动机。该工程项目的设计单位对变压器的采购编制了采购计划,经业主批准后,由项目经理进行采购。工程监理单位负
如果商品房预售合同没有按照法律规定办理登记手续,当事人可以请求确认该合同无效。( )
银行在对会计要素进行计量时,一般应当采用()。
国际旅行社的注册资本不得少于()元人民币。
事故应急救援预案(简称预案或应急预案)是指政府或企业为降低事故后果的严重程度,以对危险源的评价和事故预测结果为依据,预先制订的事故控制和抢险救灾方案。根据上述定义,下列不属于事故应急救援预案范畴的是()。
证明:aretanx=(x∈(-∞,+∞)).
二次型f=χTAχ经过满秩线性变换χ=Py可化为二次型yTBy,则矩阵A与B()
Inthe21stcenturythere’snodoubtthatfrighteningnewinfectiousdiseaseswillappear.Todaynewvirusesarecomingoutofn
最新回复
(
0
)