1. 程式人生 > >條款9:絕不在構造和析構過程中調用virtual函數

條款9:絕不在構造和析構過程中調用virtual函數

執行 bsp on() ons pub ransac base virtual rtu

在構造函數中調用virtual函數時,base class構造期間virtual函數是不會下降到derived class層 如: class Transaction{ public: Transaction(); virtual void logTransaction() const = 0; }; Transaction::Transaction() { logTransaction(); } class BuyTransaction: public Transaction{ public: virtual void logTransaction() const; }; BuyTransaction b; 但執行b時,會先構造Transaction,但是構造函數中不會調用BuyTransaction的logTransaction

條款9:絕不在構造和析構過程中調用virtual函數