C++构造函数
2011-10-27 21:24 马哈鱼 阅读(453) 评论(0) 收藏 举报1 构造函数不能声明为const成员,不管对象是否为const,都用一个构造函数来初始化。
2 数据成员在构造函数初始化列表中被初始化和在构造函数体中被赋值的区别。两者的区别在于数据成员的类型,对非类类型的数据成员进行初始化或赋值在结构和性能上都是等价的,但是没有默认构造函数的类类型的成员,以及const类型的对象和引用类型的对象只能初始化而不能赋值,所以它们必须在初始化列表中初始化,或者在函数体中被初始化而不是赋值。
3 构造函数的初始化列表只在构造函数的定义中而不是声明中指定。
4 数据成员初始化的次序就是定义的次序而不是在初始化列表中的次序。
5 在构造函数前面加上explicit关键字可以抑制由构造函数产生的隐式转换(隐式转换生成临时对象)。explicit关键字只能用于在类内部声明的构造函数上。
浙公网安备 33010602011771号