五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Effective C++ 第九條Never call virtual functions during constructio

2023-01-12 17:15 作者:九思519  | 我要投稿

Never call virtual functions during construction or destruction.絕不在構(gòu)造和析構(gòu)過程中調(diào)用virtual函數(shù)

在構(gòu)造函數(shù)中調(diào)用pure函數(shù)

????????以上程序無法正常執(zhí)行,先搞清楚程序執(zhí)行的順序,Derived創(chuàng)建之前要先創(chuàng)建Base,也就是說先執(zhí)行Base的構(gòu)造函數(shù)的時候需要執(zhí)行 op 函數(shù),但是此時還沒有進入Derived,op 函數(shù)只是一個 pure 函數(shù),沒有實際代碼,也就是無法執(zhí)行。

在構(gòu)造函數(shù)中使用impure函數(shù)

????????在構(gòu)造函數(shù)中使用了impure函數(shù)確實不會造成錯誤,但是結(jié)果與設(shè)計相異,我們在Deerived中設(shè)計op 函數(shù)輸出的事 “Hello Derived”,但是輸出的結(jié)果卻是 “Hello Base”。因為Derived構(gòu)造函數(shù)實現(xiàn)之前要先實現(xiàn)Base的構(gòu)造函數(shù),此時Base調(diào)用的是屬于Base中的op 函數(shù)而非Derived中的構(gòu)造函數(shù),從而造成與設(shè)計不符合。

解決辦法

????????將 op 設(shè)計成 non-pure 函數(shù),通過給Derived傳入制定參數(shù)來實現(xiàn)目的。

??這里不使用virtual函數(shù),也實現(xiàn)了同樣的功能.

Effective C++ 第九條Never call virtual functions during constructio的評論 (共 條)

分享到微博請遵守國家法律
贞丰县| 长岛县| 清徐县| 盘锦市| 贞丰县| 威远县| 高雄市| 新巴尔虎左旗| 上高县| 奉贤区| 抚松县| 旌德县| 武清区| 孙吴县| 大化| 桦川县| 芷江| 赞皇县| 岢岚县| 榆树市| 青冈县| 贡觉县| 神农架林区| 新和县| 天峻县| 曲靖市| 边坝县| 普格县| 保靖县| 兰考县| 永泰县| 栾川县| 湟源县| 岑溪市| 博爱县| 廉江市| 尚志市| 徐闻县| 庆元县| 化州市| 宜昌市|