取自mooc魏英《C++编程设计》
类的数据成员不能在类定义时初始化
构造函数的定义、作用—实现对象的初始化
构造函数定义的函数体里定义的变量是局部变量,类体中的其他成员函数不能使用这些变量。
构造函数初始化列表
可见构造函数初始化列表只在构造函数的定义中而不是函数原型声明中指定。
如果没有A,则会编译器会调用point的默认构造函数,而如果此时point又没有默认构造函数(没有没有参数的构造函数),编译器就会报错。
构造函数的重载
带默认参数的构造函数
当构造函数括号里有值时,按照括号里的值初始化对象成员的相应值,没有的话采用默认值。
带默认参数的构造函数的好处是:提供了建立对象的多种选择,相当于好几个重载构造函数了,即使在调用构造函数没有提供实参,不仅不会出错,而且还能确保按照默认参数值对对象进行初始化,尤其当我们希望对每一个对象都进行同样的初始化时,用这样的方法更加方便,就不需要额外的数据了,对象能够按照我们预定的值进行初始化。