1、构造方法的作用是设置数据成员的初始值。
2、定义一个类Person的实例person的时候,必定会调用Person的构造方法。调用构造方法分为两个步骤:第一步使用初始化列表,第二步在构造方法内部对成员赋值。
3、对于初始化列表,肯定会执行。如果用户没有显式的调用,就会隐式的调用。然后才执行第二步,在构造方法内部赋值。
4、对于初始化列表,对于隐式或者显式中没有初始化的成员,成员的取值取决于下面的情况:
a、如果成员是类类型,使用默认构造方法。(注:对于这种情况,必须保证成员具有默认构造方法)
b、如果是内置类型,分为下面两种情况:
b1、person是全局变量,初始化为0
b2、person是局部变量,不初始化,为oxcccccccc
5、对成员设置一个初始值,在第一步或者在第二步都能达到同样的效果。但是下面几种情况必须在第一步做:
a、const对象
b、引用类型的对象
为什么?因为const对象和引用类型的对象必须进行初始化,因此必须在初始化列表中进行。
注:0xcccccccc:没有初始化,调试的时候都是这个东西,程序不能访问这个地址。
0x00000000:是Null,不指向任何东西。