析构函数
发布日期:2021-06-29 11:51:43 浏览次数:2 分类:技术文章

本文共 537 字,大约阅读时间需要 1 分钟。

和类同名,没有参数

~类名();

~STUDENT();

#ifndef __STUDENT_H__#define __STUDENT_H__class STUDENT{
private: int nID; int nAge; const char *pName; public: STUDENT(); STUDENT(int ID, int Age, const char *pStr); ~STUDENT(); char * GetName(void); int GetID(void); void SetID(int ID); void SetName(const char *pStr); };#endif

当一个对象"过期的时候",系统便会自动调用析构函数完成清理工作,如果构造函数使用new来分配内存,那么析构函数使用delete来释放内存,上述STUDENT类中没有new,所以析构函数什么也不做

通常不应该在代码中显式调用析构函数

何时调用

①如果对象是通过new来分配的,可能分配在栈中或者堆中,当使用delete来释放内存时,其析构函数才被调用

②如果在代码块中,那么当超出这个代码块,则调用
③自动存储类别 程序结束时调用

转载地址:https://blog.csdn.net/ZZHinclude/article/details/114361864 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:const 成员函数
下一篇:学习类的第二天

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月10日 16时07分12秒