构造函数的作用_基友问我,C++为什么要有构造函数?

本文阅读时间3分钟。难度⭐⭐

这是Ghostown第4篇原创文章。

6700a06c679062fef311991c5e861cde.gif

周末有好基友让我讲一下C++构造函数,正好今晚有空就写一写~ C++构造和析构这个话题其实很大,大神可以讲得很深,但是Ghostown显然不是 a30d50c47589d07f0f16d9f41c532896.gif ,所以只谈谈自己理解的那部分。
构造函数是一种特殊的方法,主要用来在创建对象时初始化对象。 百度百科
这是度娘对构造函数的定义。(是不是感觉好像懂了,但是又好像什么都没有说) 构造函数这个名字显然不是从Constructor直译过来的,维基百科把构造函数翻译成了构造器,我觉得和Constructor意思更贴切。 度娘的定义肯定是没有错的,但是太抽象。下面我来逐词解释一下。 首先,“一种特殊的方法”,特殊在哪里? 有两点: 一是构造函数函数名和类名一致。 构造函数一定存在于类中,和类名一致的规定目的是为了让编译器能识别出是构造函数而不是别的自定义函数。 二是构造函数没有返回值。 这与普通函数返回类型是void不一样。构造函数的使命非常明确,只为初始化对象服务,不做其他份外的事情。

其次,何为创建对象?

还记得 当我们在谈论C++指针的时候,我们到底在谈什么(三) 中谈到的malloc()函数。当用malloc()分配内存空间的时候,对象就被创建起来了。从内存布局的角度,这个空间是建立在堆上的。

最后,初始化对象又是什么意思?

当我们用malloc()创建完对象后,此时对象还处于一种 原始 (raw)状态,因为没有被初始化。如果直接拿来使用......还是算了,你不知道这片空间之前用来做什么的,理论上出任何问题都有可能。 所以 初始化的本质就是给堆上的这片空间赋初值,使它从一个原始状态变成可用的状态 。当然体现在代码中就是初始化类成员变量。 上面出现了很多类的概念,这里稍微提一下,在C++中我们会用类结构来定义和管理资源,类可以让程序的逻辑和数据按照不同的角色进行封装,提高代码的重用性和扩展性。 今天只能算是C++构造函数的引子。别看构造函数作用平平无奇,这里的坑足够劝退初学者了(真的很复杂)。所以说玩C++的都是勇士哈哈,好啦下次Ghostown带大家继续学习。
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值