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

C++构造函数与析构函数介绍

介绍

C++中的构造函数和析构函数是类的特殊成员函数,用于初始化和清理对象。

  1. 构造函数是在创建对象时自动调用的函数。它的主要目的是初始化对象的状态。构造函数的名称与类的名称相同,并且它不返回任何类型,也没有参数。
  2. 析构函数与构造函数相反,当对象被销毁时自动调用。析构函数的名称与类的名称相同,但前面有一个波浪符(~)。析构函数用于释放对象使用的资源,并执行清理操作。

运行举例

#include <iostream>
using namespace std;

class MyClass {
public:
    // 构造函数
    MyClass() {
        cout << "构造函数被调用" << endl;
    }

    // 析构函数
    ~MyClass() {
        cout << "析构函数被调用" << endl;
    }
};

int main() {
    // 创建对象时会调用构造函数
    MyClass obj;

    // 离开main函数作用域时,对象会被销毁,从而调用析构函数
    return 0;
}

运行上述程序,将输出如下结果:

构造函数被调用
析构函数被调用

可以看到,在创建对象obj时,构造函数被调用并输出一条消息。当程序退出main函数作用域时,对象obj被销毁,从而调用析构函数并输出一条消息。


http://www.kler.cn/a/156124.html

相关文章:

  • 认识一下Unicorn
  • 01:(手撸HAL+CubeMX)时钟篇
  • 响应式网页设计--html
  • 【大数据测试HBase数据库 — 详细教程(含实例与监控调优)】
  • linux c/c++最高效的计时方法
  • 【机器学习】机器学习中用到的高等数学知识-2.概率论与统计 (Probability and Statistics)
  • 45 - 多线程性能优化常见问题
  • element ui 表格合计项合并
  • RK3568平台开发系列讲解(Linux系统篇)通过OF函数获取属性
  • [leetcode ~模版] 周赛模版
  • UE学习C++(1)创建actor
  • notepad++ 插件JSONView安装
  • 大数据技术学习笔记(七)—— Zookeeper
  • Leetcode—1423.可获得的最大点数【中等】
  • solidity实现ERC20代币标准
  • MySQL数据库,初学SQL知识点引入
  • Elk+Filebeat+Kafka实现日志收集
  • Pandas进阶:拼接 concat 使用方法
  • 【EasyExcel实践】万能导出,一个接口导出多张表以及任意字段(可指定字段顺序)
  • Kubernetes1.27容器化部署Prometheus
  • YoloV8改进策略:Swift Parameter-free Attention,无参注意力机制,超分模型的完美迁移
  • 2024美赛数学建模资料---100%获奖资料
  • Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)
  • openGauss学习笔记-140 openGauss 数据库运维-例行维护-例行维护表
  • java学习part27线程死锁
  • 数据库-PostgreSQL学习笔记