鱼C论坛

 找回密码
 立即注册
查看: 2263|回复: 0

[技术交流] C++(12th for two):构造器和析构器

[复制链接]
发表于 2021-2-9 20:29:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 一叶枫残 于 2021-2-9 20:31 编辑

构造器

构造器是类里面的一种特殊的方法
它与通常方法的主要区别:
——构造器的名字必须和它所在的类的名字一样;
——系统在创建某个类的实例时会第一时间自动调用这个类的构造器;
——构造器永远不会返回任何值

创建构造器

首先把声明添加到类里,这个声明要防止声明的变量后面,函数(方法)前面;
  1. class Notebook               
  2. {                                
  3.         Notebook(void);
  4. };
复制代码

然后在定义的类的下面(不是里面)开始定义构造器
  1. Notebook::Notebook( void )
  2. {
  3.         num = 0;
  4.         color = "black";
  5.         size = 'L';
  6.         elect = full_elect;
  7. }
复制代码

对象数组

创建方法
  1. Notebook mynotebook[5]
复制代码

调用方法
  1. mynotebook[x].printf_desktop()
复制代码

没有定义构造器的时候

编译器会帮你定义一个:ClassName::ClassName(){}
这个是个空构造器,之后还会创建一个副本构造器(CopyConstructor)
析构器

构造器:初始化和申请分配内存
析构器:清理内存
析构器一般紧跟着构造器,声明如下
  1. ~Notebook();
复制代码

在比较复杂的类里,析构器很重要,用于防止内存泄漏
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-15 05:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表