默认构造函数
- 没有参数的构造函数,称为默认构造函数。
1. 合成的默认构造函数
- 当程序员没有手动定义默认构造函数时,编译器自动为这个类定义一个构造函数。
- 如果数据成员使用了“类内初始值”,就使用这个值来初始化数据成员【仅C++11支持类内初始值】
- 否则,就使用默认初始化(实际上,不做任何初始化)
注意:
- 只要手动定义了任何一个构造函数,编译器就不会生成“合成的默认构造函数”
- 一般情况下,都应该定义自己的构造函数,不要使用“合成的默认构造函数”
【仅当数据成员全部使用了“类内初始值”,才宜使用“合成的默认构造函数”】
2. 手动定义的默认构造函数
- 常称为“默认构造函数”
Human.h
#pragma once
#include <string>
using namespace std;
//定义一个"人类"
class Human {
public:
//定义了一个手动默认构造函数
Human(