原文地址:https://www.yanbinghu.com/2019/08/11/25996.html
本文要点
- 为什么需要构造函数
- 默认构造函数什么时候有
- 构造函数初始值有哪几种方式给出?
- 如何使用构造函数
- 什么是委托构造函数?
- 如何禁止拷贝形式的初始化?
前言
我们在C语言中使用堆栈中的变量时,常常需要给它赋初始值,用于避免使用到了不可预知的值。同样的,在C++中也需要有这样的动作,只是由于C++的对象可能比基本数据要复杂得多,因此使用了一系列的函数来完成这件事。这些函数就是构造函数。那么构造函数到底是怎样,又该如何使用呢?
为什么需要构造函数
有的人可能会奇怪,发现自己写的代码即便没有初始化,也有正常的初始值,而且每次运行都是一样,而不是随机的,这是为什么呢?
#include<stdio.h>
int main(void)
{
int i;//没有初始化
printf("%d\n");//一般来说每次运行结果都是随机值
return 0;
}
首先,各个编译器实现可能不一样,具体怎么不一样,有兴趣可以去了解,但是需要注意的,按照标准来做,而不依赖于特定编译器的特性行为,即养成初始化的好习惯。因此在C++也常常需要构造函数来控制对象的初始化。
关于初始化也可以参考《