覺得C++的發明者們很豬頭

來源: 難割難舍中國心 2011-03-17 00:11:46 [] [博客] [舊帖] [給我悄悄話] 本文已被閱讀: 次 (719 bytes)

謝謝兩位。

在下後來又仔細google了與C++多重繼承相關的帖子,發現菱形問題的實質是:A是基類,定義了一個變量a, B和C都是A的子類,並分別繼承了一個變量a。類D則既是B又是C的子類。問題是:D搞不清楚變量a應該是繼承B從A繼承的a還是繼承C從A繼承的a,因為現在有了兩份a的copy: 一份是B從A繼承的,而另一份是C從A繼承的。靠!

這實在是C++的發明者們發渾蛋,自己把自己搞暈了:為什麽不按照變量a的原生類,隻設定一份a呢?那樣,不管是從B還是從C繼承的a,其實都是同一份由A類原生的變量a。這樣一來,不管再怎麽亂倫,我們永遠隻承認那一份從原生類中的定義的變量不就得了嗎?

也許鄙人理解有誤,問題不是那麽簡單。敬請各位高手繼續指點迷津。

另外,言辭中如有對C++眾位祖師爺有冒犯之處,敬請各位C++粉絲們原諒。

 

所有跟帖: 

哈哈! 如實轉告了。 -π- 給 π 發送悄悄話 (494 bytes) () 03/17/2011 postreply 07:32:35

請您先登陸,再發跟帖!

發現Adblock插件

如要繼續瀏覽
請支持本站 請務必在本站關閉/移除任何Adblock

關閉Adblock後 請點擊

請參考如何關閉Adblock/Adblock plus

安裝Adblock plus用戶請點擊瀏覽器圖標
選擇“Disable on www.wenxuecity.com”

安裝Adblock用戶請點擊圖標
選擇“don't run on pages on this domain”