effective C++ 条款9 绝不在构造和析构过程种调用virtual函数
class Father{
public :
Father();
virtual void logTransaction() const ;
}
class Son_1:class Father{
public:
virtual void logTransaction() const ;
}
class Son_2:class Father{
public:
virtual void logTransaction() const;
}
在构造和析构期间不要调用virual 函数,因为这类调用从不下降至derived class。
derived class 对象内的base class 成分会在derived class 自身成分构造之前构造妥当。