首页 > 编程语言 >【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数

【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数

时间:2022-12-29 17:37:13浏览次数:37  
标签:函数 int C++ month year Date day 构造函数


【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数_c++

【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数_c++_02

  [ 本篇博客热榜最高排名:7 ]

写在前面

【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数_c++_03

 朋友们好啊,今天终于更新了。我是柠檬叶子C,本章将继续讲解C++中的面向对象的知识点,本篇主要讲解默认成员函数中的构造函数、析构函数和拷贝构造函数。还是和以前一样,我们将由浅入深地去讲解,以 "初学者" 的角度去探索式地学习。会一步步地推进讲解,而不是直接把枯燥的知识点倒出来,应该会有不错的阅读体验。如果觉得不错,可以 "一键三连" 支持一下博主!你们的关注就是我更新的最大动力!Thanks ♪ (・ω・)ノ


Ⅰ.  默认成员函数

【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数_编译器_04

如果一个类中什么成员都没有,我们称之为 "空类" 。

❓ 但是空类中真的什么都没有吗?

【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数_默认成员函数_05

 并不是的……

类有六个默认成员函数,特殊的点非常多,后面我们会壹壹学习。

【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数_c++_06

【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数_类_07

【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数_默认成员函数_08

 对于默认成员函数,如果我们不主动实现,编译器会自己生成一份。

❓ 他们有什么用呢?举个例子:

比如我们在上一章里举过的一个 Stack 的例子,

如果需要初始化和清理,"构造函数" 和 "析构函数" 就可以帮助我们完成。

构造函数就类似于 Init,而析构函数就类似于 Destroy。

【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数_编译器_09

还是和以前一样,我们将先由浅入深地进行学习,我们先从 "构造函数" 开始讲起。

Ⅱ. 构造函数

0x00 引入

【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数_编译器_10

打开宇宙第一编辑器,一起敲一敲看看 ~

标签:函数,int,C++,month,year,Date,day,构造函数
From: https://blog.51cto.com/u_15153240/5978613

相关文章

  • 【C++要笑着学】深浅拷贝 | string 模拟实现 | 传统写法与现代写法
       2......
  • 【C++要笑着学】泛型编程 | 函数模板 | 函数模板实例化 | 类模板
      ​​​​​​    ......
  • 【维生素C语言】第三章 - 函数
    前言本章将对于C语言函数的定义和用法进行讲解,并且对比较难的递归部分进行详细画图解析,并对栈和栈溢出进行一个简单的叙述。同样,考虑到目前处于基础阶段,本章配备练习便于读......
  • vue3的hook函数
    1.hook的定义(本质上是可以使用组合式API的封装好的函数)   2.使用示例:   ......
  • C语言--函数
    1、function(功能):完成某个功能的指令序列的封装。2、函数特点:相同功能的代码块重复利用模块化思想3、如何让去设计一个函数?函数是用来实现一个功能或任务的例子:......
  • C++ 四种智能指针详解
    智能指针出现的原因:主要解决的是堆内存分配释放,忘记释放内存引发的内存泄漏问题,智能指针最主要的事情就是让程序员无需去注意内存释放,内存释放的问题放在智能指针内部进行处......
  • 利用WindowsAPI创建窗体(c++)
    代码://回调函数LRESULTCALLBACKWinProc(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAMlParam){switch(uMsg){caseWM_CREATE:break;caseWM_DESTROY:{P......
  • C++ #define参数问题
    今天看代码的时候发现一个问题,记录一下#include<iostream>#defineAddData(a,b)a=b+a;b=a+d;d=a+b;usingnamespacestd;intmain(){intd=2;inta=2......
  • C++ zip压缩库使用
    这个压缩库,主要是用来解压和压缩相关文件使用,好处就是引入比较方便,而且极其易使用,方便用户操作。首先是引入这四个文件,相关代码如下:首先是​​zip.h​​头文件#ifndef_zip_......
  • Windows进程通信之共享内存通信(C++)
    首先是概念:​​https://baike.baidu.com/item/%E5%85%B1%E4%BA%AB%E5%86%85%E5%AD%98/2182364?fr=aladdin​​这是比较官方的解释在我的理解,共享内存通信指的是,一个进程开......