构造
对象先被创建(分配了内存),然后才执行构造函数
默认构造函数
“默认”不是指默认的,而是指执行了默认初始化:对所有数据成员赋默认初始值
默认构造函数没有任何参数。如果自定义类没有显式地定义构造函数,那么编译器就会为我们隐式地定义一个默认构造函数,称为合成默认构造函数(synthesized default constructor),它将按以下规则初始化类的数据成员
- 如果该成员提供了一个类内初始值(in-class initializer),即在类内用初始值定义了该成员,则用其值来初始化成员
- 否则,默认初始化成员