备考2020年全国计算机二级考试的小伙伴们,复习的都怎么样了呢?树图网小编整理了2020年全国计算机二级C++复习知识点供大家参考复习,小伙伴们快来看看,测试一下自己吧!了解更多全国计算机二级考试敬请关注树图网计算机二级频道。
树图思维导图提供 2020年全国计算机二级C++复习知识点:堆和类数组 在线思维导图免费制作,点击“编辑”按钮,可对 2020年全国计算机二级C++复习知识点:堆和类数组 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:c4312e6a9957add9982f946f01182756
2020年全国计算机二级C++复习知识点:堆和类数组思维导图模板大纲
类对象数组的每个元素都要调用构造函数和析构函数。下面的例子给出了一个错误的释放类数组所占用的内存的例子。
#include iostream.h
class Date
int mo, da, yr;
public:
Date() { cout < ~Date() { cout< }
int main()
Date* dt = new Date[5];
cout < delete dt; //这儿
return 0;
指针dt指向一个有五个元素的数组。按照数组的定义,编译器会让new运算符调用Date类的构造函数五次。但是delete被调用时,并没有明确告诉编译器指针指向的Date对象有几个,所以编译时,只会调用析构函数一次。下面是程序输出;
Date constructor
Date constructor
Date constructor
Date constructor
Date constructor
Process the date
Date destructor
为了解决这个问题,C++允许告诉delete运算符,正在删除的那个指针时指向数组的,程序修改如下:
#include iostream.h
class Date
int mo, da, yr;
public:
Date() { cout < ~Date() { cout< }
int main()
Date* dt = new Date[5];
cout < delete [] dt; //这儿
return 0;
终输出为:
Date constructor
Date constructor
Date constructor
Date constructor
Date constructor
Process the date
Date destructor
Date destructor
Date destructor
Date destructor
Date destructor
树图思维导图提供 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 在线思维导图免费制作,点击“编辑”按钮,可对 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:10b9a8a2dd2fb4593f8130ef16c320fc
树图思维导图提供 销售经理半年规划 在线思维导图免费制作,点击“编辑”按钮,可对 销售经理半年规划 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:e614d6bcf03e9318109240a18697c5d1