2013-01-16 119 views
4

爲了準備考試,我正在看一箇舊的考試,但有一個問題我找不到答案。我沒有正確的答案,我的老師已經有一段時間了。 這個問題本來不是英文。使用受保護的繼承

假設類CI繼承自類Sup:class CI : protected Sup {。 爲什麼這不是一個分類繼承?

+7

我從來沒有聽說過「分類繼承」 - 所以你可能想要在這裏定義你的意思。 (我懷疑它的一些專用於你的教科書或教師的術語) –

+3

只是谷歌「在C++中的受保護的繼承」,並遵循第一個鏈接 –

+0

我能想到的唯一的事情是,類的消費者即。非「CI和朋友類」沒有看到Sup的任何繼承屬性/方法。 –

回答

4

爲什麼這不是一個分類繼承?

一般來說,繼承爲各種對象提供了一種自然的分類機制,可以明確建模對象的通用性。當類D繼承類B公開,類之間的關係變得

D is a B 

這將建立一個分類: 「所有D s爲B的」。

但是,當繼承是私有的或受保護的時候,D不會成爲B,因此無法通過D建立額外的分類。從本質上講,私有或受保護的繼承可以被認爲是實現的細節,而不是接口的細節。

+0

這非常有道理!你像我的老師一樣解釋事情(這是一個補充)。感謝你的回答! :) –