不要在构造和析构函数中调用虚函数
生活随笔
收集整理的這篇文章主要介紹了
不要在构造和析构函数中调用虚函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
構造函數中不能有虛函數的原因:
原因一:基類構造期間虛函數不會下降到派生類階段,也就是本身我們聲明一個派生類對象,它應該先去調用基類的構造,若此時基類構造里面有虛函數,則這個虛函數是基類的虛函數,而不是繼而到派生類里的虛函數。(即:要求使用對象內部尚未初始化的成分。。。錯誤的)
原因二:在派生類構造的基類對象期間,對象類型是基類而不是派生類,派生類的專屬成分并未被初始化。對象在派生類構造開始之前不會是一個派生類對象。
在構造和析構函數中不要用虛函數,因為這類函數調用不會下降至派生類。
也就是避免使用初期未成熟的派生類對象的未初始化成員變量。
轉載于:https://www.cnblogs.com/8335IT/p/6680051.html
總結
以上是生活随笔為你收集整理的不要在构造和析构函数中调用虚函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: appium定位WebView页面元素
- 下一篇: 常用字符集