【文件属性】:
文件名称:避免在构造函数和析构函数中调用虚函数-*重构*改善既有代码的设计(带完整书签)
文件大小:1.28MB
文件格式:PDF
更新时间:2021-06-08 00:09:27
C++ 编程规范
规则4.11 避免在构造函数和析构函数中调用虚函数
说明:在构造函数和析构函数中调用虚函数,会导致未定义的行为。
在C++中,一个基类一次只构造一个完整的对象。
示例:类BaseA是基类,DeriveB是派生类
class BaseA //基类BaseA
{
public:
BaseA();
virtual void log() const=0; //不同的派生类调用不同的日志文件
};
BaseA::BaseA() //基类构造函数
{
log(); //调用虚函数log
}