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