在c++中有六种默认成员函数,比如构造函数、析构函数等等,它们在程序员不书写的时候也会自动生成,发挥着重要的作用,今天我们就一起来探究一下构造函数。
在讲构造函数之前,我们还要补充一些类开辟空间的知识
注意如果定义了成员变量,成员变量是占用空间,它是按照C语言中的结构体的内存对齐方式来开辟空间的
类中还存在一个默认的指针,叫做this指针,我们不能在形参中写this指针,但是我们可以在函数体中使用this指针。
关于类,我们通过下面这个代码来加深印象
这样子是直接将地址传过去,不会发生解引用
关于this指针,我们作以下补充:
所以究竟什么是构造函数,它有什么作用???
本质上构造函数就是帮助我们进行初始化的工具
我们来看我们之前写的日期类的构造函数应该如何书写
我们也可以写成全缺省的形式
对于实现栈来说,我们在使用的过程中难免会开辟空间,这样会导致异地扩容,所以为了减少这样的情况,我们可以使用构造函数进行初始化
实现好的栈的构造函数
这样子创建栈的时候我们就可以不用异地扩容了
对于构造函数我们要注意
内置类型就是程序中自带的变量,如int、char、double、指针
下面我们来通过例子来展示构造函数的优势
在下面这个问题中,我们创建的队列会直接调用类中的两个栈的构造函数进行初始化,这样这个类的队列就不用另外写一个构造函数
到这里我们就将构造函数大概解释清楚了,希望对大家有所帮助