C++构造函数: (1)构造函数中不易报告错误,不能使用异常 (2)操作失败会造成对象初始化失败,引起不确定状态 (3)构造函数内调用虚函数,调用不会派发到子类实现中,技术当前不需要子类实现,但依然是隐患 (4)如果有人创建该类的全局变量(这样做违背禁止类作为全局变量的准则),构造函数在main()函数执行前调用,有可能影响代码中使用flag的逻辑。 结论: 如果对象需要有意义的初始化,使用Init()方法合并需要初始化的内容,并增加一个成员变量标记该对象是否初始化成功。