[bo]以下是引用 [un]p1s[/un] 在 2008-5-19 20:40 的发言:[/bo]
在C++中,每个类都有且必须有构造函数。如果用户没有自行编写构造函数,则C++自动提供一个无参数的构造函数,称为默认构造函数。这个默认构造函数不做任何初始化工作。
以上摘自《易学C++》第十四章,希望对LZ有帮助。 ...
显然是错的。
如果一个类没有任何构造函数。那么,至少当这个类有以下情况之一的时候,默认构造函数并不是不作任何初始化工作:
1.如果有基类有非trivial构造函数,譬如说,你从std::string派生
2.如果有成员对象有非trivial构造函数,譬如说,你有一个std::string成员
3.类层次上有virtual函数
4.类层次上有virtual继承