关于类的析构函数总结

析构函数

析构函数的功能是用来释放一个对象,在对象删除前,用它做一些内存释放等收尾工作。

  1. 一个类只能定义一个析构函数
  2. 析构函数不能重载
  3. 析构函数和构造函数一样不能加return , 也不用加关键字void

语法

析构函数名标识符就是在类名标识符符号前面加 ~ 符号

// PERSON.h 头文件
#pragma once
class PERSON
{
    
    
public:
	short Age;
	char* Name;
	PERSON(short Age ,  char *Name);
	PERSON(PERSON& copyPERSON);
	~PERSON();
};

构造函数和析构函数的调用环境

  1. 自动变量的作用域是某个模块,当此模块被激活时,自动变量调用构造函数,退出此模块则会调用析构函数。
  2. 全局变量在进入main函数之前会调用构造函数,在程序终止时会调用析构函数。
  3. 动态分配的对象在使用new为对象分配内存时会调用构造函数,使用delete删除对象时会调用析构函数。
  4. 临时变量由编译器自动产生是为了支持计算,所以临时变量的生存期的开始和结尾会调用构造函数和析构函数。

猜你喜欢

转载自blog.csdn.net/qq_45279570/article/details/109735036