c++类的默认成员函数:构造函数

在c++中有六种默认成员函数,比如构造函数、析构函数等等,它们在程序员不书写的时候也会自动生成,发挥着重要的作用,今天我们就一起来探究一下构造函数。

在讲构造函数之前,我们还要补充一些类开辟空间的知识

注意如果定义了成员变量,成员变量是占用空间,它是按照C语言中的结构体的内存对齐方式来开辟空间的

类中还存在一个默认的指针,叫做this指针,我们不能在形参中写this指针,但是我们可以在函数体中使用this指针。

 关于类,我们通过下面这个代码来加深印象

 

这样子是直接将地址传过去,不会发生解引用

 关于this指针,我们作以下补充:

 所以究竟什么是构造函数,它有什么作用???

本质上构造函数就是帮助我们进行初始化的工具 

我们来看我们之前写的日期类的构造函数应该如何书写

 

我们也可以写成全缺省的形式

 

 对于实现栈来说,我们在使用的过程中难免会开辟空间,这样会导致异地扩容,所以为了减少这样的情况,我们可以使用构造函数进行初始化

实现好的栈的构造函数 

        

 这样子创建栈的时候我们就可以不用异地扩容了

对于构造函数我们要注意

内置类型就是程序中自带的变量,如int、char、double、指针

 下面我们来通过例子来展示构造函数的优势

在下面这个问题中,我们创建的队列会直接调用类中的两个栈的构造函数进行初始化,这样这个类的队列就不用另外写一个构造函数 

 

到这里我们就将构造函数大概解释清楚了,希望对大家有所帮助 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sugar_goat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值