五月天青色头像情侣网名,国产亚洲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的評論 (共 條)

分享到微博請遵守國家法律
香格里拉县| 金华市| 河北省| 卢龙县| 全南县| 远安县| 隆回县| 扎赉特旗| 东乌珠穆沁旗| 宝清县| 虹口区| 宕昌县| 钟祥市| 衡阳县| 曲沃县| 宣汉县| 蓝山县| 长汀县| 太保市| 永定县| 永清县| 佛学| 渝北区| 格尔木市| 托里县| 玉屏| 锡林郭勒盟| 平昌县| 涿州市| 土默特左旗| 湖北省| 新巴尔虎左旗| 开远市| 崇信县| 承德县| 定安县| 综艺| 山丹县| 沅江市| 棋牌| 莱芜市|