当前位置: 首页 > news >正文

C++学习,类的析构函数

C++析构函数是一种特殊的成员函数,它在对象生命周期结束时自动被调用,用于执行清理操作,如释放分配给对象的内存、关闭文件句柄、删除动态分配的内存等。

析构函数对于管理资源非常重要,特别是当对象拥有需要显式释放的资源时。如果类管理了动态分配的内存、文件句柄、网络连接等资源,那么析构函数应该负责在对象销毁时释放这些资源。

析构函数名称与类的名称相同,在析构函数前加了~作为前缀,它不返回任何值,也不带有任何参数。

 

析构函数示例:
#include <iostream>  
using namespace std;  
  
class MyClass {  
private:  
    int* ptr;  
  
public:  
    // 构造函数  
    MyClass() {  
        ptr = new int(10); 
        cout << "Object is being created" << endl;  
    }  
  
    // 析构函数  
    ~MyClass() {  
        delete ptr;
        cout << "Object is being deleted" << endl;  
    }  
  
    void display() const {  
        cout << "*ptr = " << *ptr << endl;  
    }  
};  
  
int main() {  
    MyClass obj; // 创建MyClass的对象,调用构造函数  
    obj.display(); 
  
    // 当obj的生命周期结束时(即main函数返回时),  
    // 析构函数会自动被调用  
  
    return 0;  
}

 


http://www.mrgr.cn/news/21292.html

相关文章:

  • 我的私人助理 | 办公小浣熊
  • 第二十一章 rust与动静态库的结合使用
  • 搭建自己的Discuz论坛
  • Docker 部署 Minio (图文并茂超详细)
  • 黑神话:游戏的诞生
  • C++开发基础之自定义异步日志库实现及性能测试
  • Linux block_device gendisk和hd_struct到底是个啥关系
  • 【docker】基于docker-compose 安装elasticsearch + kibana + ik分词器(8.10.4版本)
  • 基于yolov8的焊缝质量好坏系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • jmeter之循环控制器使用
  • 项目管理的完美看板:TaskCafe
  • golang学习笔记08——如何调用阿里oss sdk实现访问对象存储?
  • 使用PowerShell限制Microsoft Exchange邮件大小
  • C++和OpenGL实现3D游戏编程【连载8】——纹理文字实现与优化
  • http模块 - 创建Web服务以及案例
  • C++隐式转换
  • TYPE-C USB设计
  • 【C++二分查找】1818. 绝对差值和
  • C#/.NET/.NET Core推荐学习路线文档文章
  • 【30天玩转python】条件语句与循环