但不是所有的对象都属于上述类型,对于很多对象来说,不利用外部数据进行完全的初始化是不合理的。在一个完美的世界里,无需任何数据即可建立对象的类可以包含缺省构造函数,而需要数据来建立对象的类则不能包含缺省构造函数。
提供无意义的缺省构造函数也会影响类的工作效率。如果一个类的构造函数能够确保所有的部分被正确初始化,所有这些弊病都能够避免。缺省构造函数一般不会提供这种保证,所以在它们可能使类变得没有意义时,尽量去避免使用它们。使用这种(没有缺省构造函数的)类的确有一些限制,但是当你使用它时,它也给你提供了一种保证:你能相信这个类被正确地建立和高效地实现。
本文讨论了在类的设计中如何合理地使用构造函数。对于需要外部数据初始化的对象,建议避免使用缺省构造函数,以确保对象状态的有效性和一致性。文章强调了正确初始化的重要性,并指出这有助于提高类的效率。
259

被折叠的 条评论
为什么被折叠?



