码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【C++】构造函数和析构函数


    文章目录

    • 构造函数
      • 构造函数的作用
      • 构造函数的种类
    • 析构函数
      • 作用
      • 是否走析构函数
    • 继承关系中执行构造函数和析构函数的顺序:

    构造函数

    构造函数的作用

    因只有对象创建时,才会分配空间,类中非静态数据成员不能够在类内直接初始化或赋值,C++提供了构造函数对类的数据成员进行初始化,或者是赋值
    数据成员的初始化(函数重载)
    在这里插入图片描述

    构造函数的种类

     普通构造函数:两个或以上参数的构造函数
     默认构造函数:没有参数或者所有的函数都有默认参数,一个类中只能有一个默认构造函数
     复制(拷贝)构造函数:在创建对象时,使用同一类中之前创建对象来初始化新创建的对象。
    默认:浅复制
     类型转换构造函数: explicit关键字避免以下情况
    当构造函数有一个参数时,会转换成自身类型的参数

    析构函数

    作用

    释放对象在生存期间动态申请的空间
    析构函数不能被重载

    是否走析构函数

     类的普通对象可以走构造和析构函数。先自动调用构造函数,然后运行自己写的函数,最后回收前调用析构函数。(因为对象是局部变量,函数结束时就会被回收,析构函数回收前会被调用)
    在这里插入图片描述

     创建普通对象或者new对象都会走构造函数,普通对象被回收会走析构,new出来的对象delete时也会走析构函数
    在这里插入图片描述

    继承关系中执行构造函数和析构函数的顺序:

    继承关系中的派生类创建对象:构造的执行顺序先走基类的构造,再走派生类的构造,
    继承关系中的派生类释放对象:先走派生类的析构,再走基类的析构

  • 相关阅读:
    米哈游(原神)一面算法原题
    【Redis】 数据结构:底层数据结构详解
    tomcat常用配置详解和优化方法
    [极致用户体验] 我做的《联机五子棋》是如何追求极致用户体验的?(上)
    Qt foreach关键字
    编译器一日一练(DIY系列之词法分析)
    基于51单片机的人体红外探测防盗报警
    C ++ 类 | 类与函数(Function)_5
    Java-访问控制
    磁盘管理:磁盘结构
  • 原文地址:https://blog.csdn.net/kin_16/article/details/126457229
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号