类的默认成员函数2 --- 析构函数

2023-11-10

析构函数

1. 概念
前面通过构造函数的学习,我们知道一个对象时怎么来的,那一个对象又是怎么没呢的?

  • 析构函数:与构造函数功能相反,析构函数不是完成对象的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成类的一些资源清理工作。

2. 特性
析构函数是特殊的成员函数。帮助我们清理资源(不是销毁对象), 资源包括堆上的资源, 打开的文件, 网络连接

  • 如果对象是一个局部变量, 编译器会帮我们自动销毁
  • 编译器自动调用(在对象的生命周期结束时, 编译器自动调用析构函数 完成对资源的清理
  • 函数名: ~类名(){} , 无参无返回值, 不能重载
  • 如果不定义, 编译器也会帮我们自动生成
  • 构造顺序是按照语句的顺序进行构造,析构是按照构造的相反顺序进行析构
class Date
{
   
public:
	// 全缺省的默认构造
	Date(int year = 1, int month = 1, int day = 1){
   
	// Date(int year, int month, int day){
   
		this->_year = year
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类的默认成员函数2 --- 析构函数 的相关文章

随机推荐

  • 2023,8种必备Selenium编写自动化用例的技巧!

    在开始自动化时 您可能会遇到各种可能包含在自动化代码中的方法 技术 框架和工具 有时 与提供更好的灵活性或解决问题的更好方法相比 这种多功能性导致代码更加复杂 在编写自动化代码时 重要的是我们能够清楚地描述自动化测试的目标以及我们如何实现它
  • SPADE阅读笔记

    SPADE阅读笔记 目录 SPADE阅读笔记 作者的方法 spatial adaptive denormalization SPADE generator 为啥SPADE work better 同样的 作者提出一个simplt but e
  • 分巧克力(蓝桥杯C/C++B组真题详解)

    目录 题目 编辑 题目思路 代码详解 题目 题目思路 因为答案唯一 且分布在一个区间里面 我们可以想到二分答案 直到找到最小的满足的条件的 合适答案 代码详解 include
  • JavaScript的运算符

    目录 一 算术运算符 1 优先级 2 模运算 3 4 自增 5 自减 二 关系运算符 比较运算符 三 逻辑运算符 1 逻辑与 2 逻辑或 3 逻辑非 四 赋值运算符 1 格式 2 要求 3 复合赋值运算符 五 位运算符 1 按位与 2 按位
  • edp和edt哪个好_香水edt和edp什么意思 香水等级分类说明

    这次引发我写这篇小科普的灵感 是因为我恰巧看到一个文在各种溢美之词地推荐一款售价过千的EDT小众香水 EDT留香很短 卖价过千让我实在有点难接受 现在安利香水的推文随处可见 但发现不少只是一个劲地赞美多好闻 却连最基本的香水等级分辨都没好好
  • java 日志时间错误

    java 时区错误 解决方法 问题 参考链接 电脑上所有 java 应用 项目时间都不对 核心业务系统启动后日志时间和当前系统时间差11个小时30分钟 电脑用的是云桌面系统有严格的权限控制 找相关人和同事弄了几次没好 都知道是时区问题 但没
  • Vue3-wangeditor富文本编辑器的使用

    wangeditor官网 用于 Vue React wangEditor开源 Web 富文本编辑器 开箱即用 配置简单https www wangeditor com v5 for frame html vue3 按照官网提示安装 两个都要
  • 【Linux】Linux中的gcc/g++编译器的使用

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 一 编译的过程 1 预处理阶段 1 1预处理的工作 头文件
  • 如何让2008服务器访问所有网页,Windows Server 2008 R2 下配置证书服务器和 HTTPS 方式访问网站...

    Windows Server 2008 R2 下配置证书服务器和 HTTPS 方式访问网站 实验准备 一台 Windows server 2008 r2 的虚拟机 实验目的 为什么要用 HTTPS 实验步骤 1 配置 CA 证书服务器 1开
  • Android Studio 的原生输入框控件 EditText 属性配置详解

    Android Studio 的原生输入框控件 EditText 属性配置详解 文本设置 android hint 默认文本设置 android textColorHint 95A1AA 默认文本颜色 android textColorHi
  • 论文笔记:N-BEATS: NEURAL BASIS EXPANSION ANALYSIS FORINTERPRETABLE TIME SERIES FORECASTING

    ICLR 2020 0 摘要 本文重点研究了利用深度学习解决单变量时间序列点预测问题 我们提出了一种基于后向和前向残留链路和一个非常深的全连接层堆栈的深度神经结构 该体系结构具有许多令人满意的特性 这些特性是可解释的 适用于广泛的目标领域而
  • Mybatis简介及其快速入门及其映射文件详解

    一 Mybatis简介 1 1原始jdbc操作 查询数据 1 2原始jdbc操作 插入数据 1 3 原始jdbc操作的分析 原始jdbc开发存在的问题如下 数据库连接创建 释放频繁造成系统资源浪费从而影响系统性能 sql 语句在代码中硬编码
  • Xilinx平台SRIO介绍(汇总篇)

    用最简单直白的语言记录复杂的FPGA设计 FPGA大叔 沃自己硕得 目录 前言 一 SRIO扫盲篇 RapidIO协议介绍 二 Xilinx平台SRIO IP核基础知识 三 SRIO时钟与复位 四 SRIO IP核配置使用教程 五 示例工程
  • 四旋翼无人机学习第4节--STM32、MPU9250等器件的绘制

    注意 本博客主要是复现小马哥四轴 即从画板 焊接 0 前言 当画stm32 mpu9250这种多引脚的芯片 就需要参考芯片手册啦 这里给大家推荐一个芯片手册查询网站 半导小芯 芯片查询工具 进入网站 输入芯片的具体名称 点击查询即可 最后点
  • 使用Maven构建微服务项目踩过的坑及学习心得(持续更新)

    前言 本文为个人在学习微服务架构的过程中的心得汇总 以便于自己未来回看和帮助其他遇到同样的问题的同学 初学者 敬请包涵 该文会随着学习阶段的深入不断改进和更新 1模块构建 1 1整模块打包 直接在微服务项目根目录下输入mvn clean i
  • wazuh 原理分析之Syscollector 系统信息收集工作流程

    wazuh是从ossec hids衍生过来的 部分架构设计有所不同 多进程多线程模式 本机的进程之间通过Unix domain socket 进行通信的 今天简单介绍一下数据搜集的相关功能的实现 Linux系统 注意由于篇幅所限 在函数中我
  • Facebook全球6小时宕机原因已查明:一条指令所致,内部工程师所为

    博雯 发自 凹非寺量子位 报道 公众号 QbitAI Facebook全球宕机6小时的原因 是公司内部工程师的一条错误指令 最近 Facebook官方针对这次大规模宕机的原因做了回应 这一新闻已经出现在了微博热榜 而在回复中 官方也 针对各
  • httprunner使用总结

    背景 在准备做接口自动化的过程中 了解到httprunner是一种简洁 不会代码的人也可以快速上手的框架 维护人员只需要编写并维护json或yaml文件 即可实现自动化测试 在结合httprunnerV2 X中文使用文档 应用于自己的项目中
  • WSDL实例解析

    WSDL的主要文档元素 WSDL文档可以分为两部分 顶部分由抽象定义组成 而底部分则由具体描述组成 抽象部分以独立于平台和语言的方式定义SOAP消息 它们并不包含任何随 机器或语言而变的元素 这就定义了一系列服务 截然不同的应用都可以实现
  • 类的默认成员函数2 --- 析构函数

    析构函数 1 概念 前面通过构造函数的学习 我们知道一个对象时怎么来的 那一个对象又是怎么没呢的 析构函数 与构造函数功能相反 析构函数不是完成对象的销毁 局部对象销毁工作是由编译器完成的 而对象在销毁时会自动调用析构函数 完成类的一些资源