最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

Effective C++ 第四十條 Use multiple inheritance judiciously.

2023-03-01 00:07 作者:九思519  | 我要投稿

明智而審慎地使用多重繼承

使用多重繼承就是一個類同時繼承多個類,這就可能會出現(xiàn)幾個父類有同名接口,而在子類中調(diào)用這個名字的接口的時候會出現(xiàn)歧義。

其實哪怕對于 base2 是 private 繼承,也同樣是默認兩可的,C++ 檢查函數(shù)調(diào)用的時候,private 接口和 public 接口可能具有相同的匹配程度,從而導(dǎo)致無法分辨。

如果想要解決這個歧義,你必須在調(diào)用的時候就區(qū)分清楚

還有一種繼承就是菱形繼承

如果在這個例子中,F(xiàn)ile 有一個接口 fun,那么 InputFile 和 OutputFile 也有一個 fun,此時 IOFile 就有兩個 fun 了。這雖然有點難以接受,但是卻是事實。如果你希望 IOFile 只有一份 fun,你可以使用 virtual?繼承。

這樣 IOFile 就只有一份 fun。但是這也有壞處,就是 virtual? 繼承的類體積往往比 non-virtual 繼承而來的更大,而且訪問 virtual base classes 成員變量所需要的時間也更長。這就是 virtual 繼承的代價。

而且派生自 virtual base 的類如果需要初始化,就必須知道其 virtual base 的細節(jié)(定義),本例中的 IOFile 如果初始化必須知道 File 的定義。

如果不得不使用 virtual base,那么請盡量避免在其中放入數(shù)據(jù),以免引起不必要的麻煩。

多重繼承也有其好處,前面提到過 public?繼承可以繼承接口,private 繼承實現(xiàn),那么可以讓 derived 繼承 base1 的接口,而繼承 base2 的實現(xiàn)。


Effective C++ 第四十條 Use multiple inheritance judiciously.的評論 (共 條)

分享到微博請遵守國家法律
阳西县| 防城港市| 商河县| 类乌齐县| 新蔡县| 罗山县| 栖霞市| 麟游县| 东兰县| 老河口市| 常山县| 论坛| 册亨县| 顺平县| 胶南市| 南汇区| 东丽区| 石城县| 清水县| 休宁县| 台江县| 甘洛县| 辽中县| 天门市| 尼勒克县| 广德县| 开江县| 西贡区| 尼玛县| 娱乐| 广汉市| 广州市| 鹰潭市| 礼泉县| 沽源县| 开平市| 天长市| 金坛市| 根河市| 苗栗县| 贺兰县|