C 多繼承有什麼壞處,Java的介面為什麼可以擯棄這些壞處?

時間 2021-05-07 00:26:54

1樓:Star.E

c++的虛函式已經用的很少了,一般問題都靠模版解決。物件的表現取決於不同執行環境,而繼承把兩者緊耦合了。這自然容易起衝突

2樓:

C++大部分有爭議的特性不是有什麼壞處, 而是壓根沒什麼卵用.

請舉出乙個必須要多繼承才能解決問題的場景.

今天還在認真考慮使用多繼承, 虛繼承, dynamic_cast之類的, 多半是初學者, 因為壓根就沒有人用這些特性.

3樓:徐辰

C++的多繼承本身並沒有什麼問題,這玩意兒在多根體系下本來就是必須的,否則很多東西沒法做。

如果一定要說它有問題,那只能說它沒有禁止菱形繼承,當然iostream開了個壞頭功不可沒。

不過話說回來,C++本來就不禁止人們做各種傻事,這樣大家做了傻事之後就可以推卸責任了。

4樓:

只能說C++給了你更多的自由,好與不好就看你駕馭的能力了…

如果多重繼承個各基類在功能上相互之間是正交的,那麼好像也未必有問題…很多人覺得有問題多半是遇到菱形繼承這種樣子的,為了解決這個問題,需要使用虛繼承,略難受…但是這就是當下iostream的樣子…

5樓:丁冬

乙個是之前提到的父類同名成員訪問問題,還有乙個是反覆繼承的問題,比如:

struct A ;

struct B : A ;

struct C : A ;

struct D : B, C ;

如此一來D繼承了兩個A。於是又得搞虛繼承。基類的開發者還必須能預知這種需求。

6樓:

主要就是造成混亂吧,譬如:繼承兩個類,兩個類有相同的成員名a,或者兩個根本就是同乙個(有a方法)的父類的子類。

當呼叫方法a時候,你不知道呼叫的是繼承於誰的。

長期每天吃非常多的蛋黃,有什麼壞處嗎?

1.一般的營養過量,這個不限於蛋黃。但是如果你是在努力增肌,腎功能又允許,總熱量又能消耗掉,也未嘗不可。這個就算你吃大量瘦肉,也是存在的。高蛋白飲食觸發高IGF 1 也是有利有弊的,自己權衡。2.可能影響腸道菌群。 Gushoushou 蛋黃最受爭議的一點是其膽固醇含量比較高,經檢測100克蛋黃的膽...

C 語言的網路庫有哪些,有沒有像Java的Netty這樣流行並廣泛使用的網路框架,為什麼?

Netty不追求單機極限效能,而是簡化使用 包括跨平台優勢 的前提下的相對高效能,易用性是關鍵,然後通過集群化來增強。簡而言之,不追求個人勇武,要的是整體強悍。 寫程式碼的冰冰 試試 netplus,借鑑並實現了大量netty裡的概念及思想,c 11實現。倉庫 https Jimsdog 360的e...

為什麼經濟界有那麼多令人費解的名詞?

無聊一知 1,專用名詞 術語是該行業人員為了概括一些複雜概念而使用的,目的是方便,類似於快捷鍵 2,有些人製造和使用術語是為了讓別人聽不懂或接收困難,目的是掩蓋自己的無知或裝逼 所以,1,專有名詞哪都有,必須習慣去掌握 2,自己可以盡量用通俗概念跟外行聊天 生笑風 在這樣一批同行的工作人員之中,一定...