1樓:軍綺露
派生類對基類成員的訪問形式包括內部訪問和物件訪問兩種方式。下面對3種繼承方式下的訪問規則分別進行介紹。
1.私有繼承
通過私有繼承方式,基類的公有成員和保護成員變為私有性質的,則派生類的其他成員可以直接訪問基類的成員。但是派生類的物件不可以訪問基類的成員,同時基類的私有成員不可以被派生類所訪問。
2.保護繼承
通過保護繼承,基類的公有成員和保護成員變為保護性質的,則派生類的其他成員可以直接訪問基類的成員。但是派生類的物件不可以訪問基類的成員,同時基類的私有成員不可以被派生類所訪問。這種方式與私有繼承基本相同。
3.公有繼承
通過公有繼承,基類的公有成員和保護成員仍為公有和保護成員。派生類的其他成員可以直接訪問基類的公有成員和保護成員,但是派生類的外部只可以訪問基類的公有成員。派生類的私有成員不能直接被訪問,只可以通過公有成員和保護成員間接訪問。
說明:繼承方式的選擇應該根據實際應用中的設計需要而定。一般來說選擇公有繼承方式的較多。
2樓:楊鵾夏侯芳藹
您好,我來為您解答:
派生類不能對基類私有成員進行訪問。
要在派生類中對基類成員進行訪問,可以:
1,在派生類中對基類成員的public屬性進行訪問,以間接訪問基類的私有成員;
2,在基類中將私有成員定義為protected訪問屬性,以在派生類中直接對其進行訪問;
希望我的回答對你有幫助。
c基類中的成員函式的引數是派生類怎麼辦
先宣告派生類,將成員函式引數設為派生類的引用 include using namespace std class b class a int main 不知道你是不是要問這個 那還放在基類搞什麼,不如弄成虛擬函式。c 中派生類如何使用基類中的資料成員 如果你是派生類例項,這個結果是正確的,派生後會覆...
VC 中為什麼要用類 包括派生類,為什麼要派生
這個問題說起來挺複雜的,不過值得慶幸的是,在大多數c 語言教材裡,都有明確的闡述,如 the c programming language c how to program 建議你看一下。如果不太方便,我也很樂意闡述一下我的理解,因為不想複製網上的,有欺騙樓主的感覺。舉個例子,建立一個基類 shap...
虛繼承的類大小問題,虛繼承,派生類重寫基類虛擬函式,派生類大小的問題,具體看程式碼
虛繼承 是物件導向程式設計中的一種技術,是指一個指定的基類,在繼承體系結構中,將其成員資料例項共享給也從這個基型別直接或間接派生的其它類。虛擬繼承是多重繼承中特有的概念。虛擬基類是為解決多重繼承而出現的。如下圖所示。類d繼承自類b1 b2,而類b1 b2都繼承自類a,因此出現如右圖所示的局面 非虛基...