C++ 类的析构函数

class myDate
{
int year, month,day;
};

若不定义析构函数,系统会自动创建析构函数,函数体为空
myDate::~myDate() //析构函数不能有参数
{
}

在多个class被析构的时候,顺序是后创建的先析构

new 是为了定义新的指针,在堆上分配内存需要delete释放
所以new和delete是成对出现的

注意删除样式
myDate dd[2] = {myDate(), myDate()};
delete dd[0];
delete dd[1];

楼主有一个问题:
能不能for循环中逐个delete,比如第一次循环中delete了数组第一个元素,那第二次循环中又是从原有数组中操作,还是在delete了第一个元素之后剩下元素组成的新数组中循环吗,如果是原有数组中循环会造成野指针的错误吗?

你可能感兴趣的:(C++ 类的析构函数)