析构函数
析构函数与构造函数相对应,构造函数是对象创建的时候自动调用的,而析构函数就是对象在销毁的时候自动调用的的。
析构函数只有一个;没有参数;没有定义析构函数时,编译器自动帮我们加上;
指针对象执行析构函数
使用delete触发析构函数
临时对象
不定义对象来赋值,比如只有一行Person(),初始化完成之后就触发析构函数
析构函数的作用
在类中声明了指针变量时,我们就需要在析构函数进行空间释放,因为系统不会释放指针变量
触发
定义指针对象时,只有new和delete会触发构造函数和析构函数,而malloc和free不行。
#include <iostream>
#include <string>
using namespace std;
class Cperson
{
public:
Cperson()
{
pp = new int;
cout << "Beginning" << endl;
}
~Cperson()
{
delete pp;
cout << "End" << endl;
}
private:
int *pp;
};
int main()
{
Cperson *op1 = (Cperson *)malloc(sizeof(Cperson));
free(op1);
Cperson *op2 = new Cperson;
delete op2;
system("pause");
return 0;
}
标签:触发,函数,对象,基础,C++,析构,构造函数,指针 From: https://www.cnblogs.com/MiraculousB/p/16652240.html