2014-01-31 186 views
-3

爲什麼C語言不支持繼承的概念?我們如何使用嵌套結構在C中實現繼承?爲什麼C不支持繼承?

+3

由於C沒有對象,爲什麼它應該實現面向對象的語言的概念? – klaustopher

+1

downvoters \ closers這是一個天真但有效的問題恕我直言。 – UmNyobe

+0

這是oops的概念 – user2760375

回答

1

這是OOP的概念,但你也可以實現它在C.

繼承和多態是面向對象編程語言的最強大的功能。通過繼承和多態,我們可以實現代碼重用。

有在C.

在C實施多態性許多棘手的方式,繼承可以通過維持在派生類對象的基類對象的引用來實現。藉助基類的實例,我們可以訪問基礎數據成員和函數。但是,爲了實現多態,基類對象應該能夠訪問派生類對象的數據。爲此,基類應該具有對派生類的數據成員的訪問權限。

爲了實現虛擬函數,派生類的函數的簽名必須與基類的函數指針類似。這意味着派生類函數將以基類的實例作爲參數。我們維護對基類中派生類的引用。在函數實現期間,我們可以從派生類的引用中訪問實際的派生類數據。

通過very good Article