1樓:可口可越
外部成員無法訪問內部私有成員。
2樓:寒鐵礦
從物理上講是複製過來了,在記憶體中確實有複製。但是從程式上看是被遮蔽了,不能直接呼叫。
3樓:淺綠淡淡
簡單的表達一下,父母跟子女。基類就是父母,子女就是派生類。基類的私有成員就好比是父母的私房錢,子女能夠繼承父母的樣貌(即公有成員),但是子女沒法使用父母的私房錢也不能知道有多少私房錢(即不可見或不可訪問),就是這麼個意思。
4樓:匿名使用者
公有繼承(public)將父類中的成員的可見性原搬不動的移到派生類裡,原來私有(private)依然保持私有,公有依然保持公有...
可見性是對類以外空間來說的
在公有繼承的情況下,基類成員在派生類中的訪問許可權保持不變? c++
5樓:匿名使用者
c++在公有繼承
的情況下,基類的public和protected成員的訪問屬性在派生類中不變,而基類版的private成員不權可訪問。其他外部使用者只能通過派生類的物件訪問繼承的public成員。另外,追加點分再採納吧,親。。
6樓:匿名使用者
嗯,公有繼承下,基類成員中公有和受保護型別的訪問許可權都不變,但基類的私有成員無論採用何種繼承方式,在子類中都將變得不可訪問。
7樓:匿名使用者
每次點高質量答題進來都只能看到提問標題,無法看到具體內容,沒辦法回答問題,也沒辦法看到有幾個答案,很多都是已經有最佳答案了還推薦出來。真的很心傷,管理可以解決一下這個問題嗎?不知道到哪反映啊。
8樓:節子不哭
不是的,基類的私有資料成員在派生類中不可見。
9樓:我是一小小魚蝶
基類訪問派生類?是不是寫反了 派生訪問基類吧,公有繼承下,public和protect公有跟保護可以訪問 private私有不能訪問
c++類的公有繼承,基類的私有成員在派生類中不可見或不可訪問,這個不可見或不可訪問是什麼意思?
10樓:3月21日晴
在c++語言中,一個派生類可以從一個基類派生,也可以從多個基類派生。從一個基類派生的繼承稱為單繼承;從多個基類派生的繼承稱為多繼承。
方式如下:
公有繼承(public)、私有繼承(private)、保護繼承(protected)是常用的三種繼承方式。
1. 公有繼承(public)
公有繼承的特點是基類的公有成員和保護成員作為派生類的成員時,它們都保持原有的狀態,而基類的私有成員仍然是私有的,不能被這個派生類的子類所訪問。
2. 私有繼承(private)
私有繼承的特點是基類的公有成員和保護成員都作為派生類的私有成員,並且不能被這個派生類的子類所訪問。
3. 保護繼承(protected)
保護繼承的特點是基類的所有公有成員和保護成員都成為派生類的保護成員,並且只能被它的派生類成員函式或友元訪問,基類的私有成員仍然是私有的。
11樓:匿名使用者
公有繼承:
當類的繼承方式為公有繼承時,基類的公有成員和保護成員的訪問屬性在派生類中不變,而基類的私有成員不可直接訪問。也就是說基類的公有成員和保護成員被繼承到派生類中訪問屬性不變,仍作為派生類的公有成員和保護成員,派生類的其他成員可以直接訪問它們。在類族之外只能通過派生類的物件訪問從基類繼承的公有成員。
私有繼承:
當類的繼承方式為私有繼承時,基類中的公有成員和保護成員都以私有成員的身份出現在派生類中,而基類的私有成員在派生類中不可直接訪問。也就是說基類的公有成員和保護成員被繼承後作為派生類的私有成員,派生類的其他成員可以直接訪問它們,但是在類族外部通過派生類的物件無法直接訪問它們。無論是派生類的 成員還是通過派生類的物件,都無法直接訪問從基類繼承的私有成員。
保護繼承:
保護繼承中,基類的公有成員和保護成員都以保護成員的身份出現在派生類中,而基類的私有成員變數不可直接訪問。這樣,派生類的其他成員就可以直接訪問從基類繼承來的公有和保護成員,但在類的外部通過派生類的物件無法直接訪問它們,無論是派生類的成員還是派生類的物件都無法直接訪問基類的私有成員。
公有繼承:保持原狀
許可權:(1)派生類成員只能訪問基類中的 public/protected 成員;
(2)派生類的物件只能訪問基類中的public成員。(注意:派生類和派生類物件是不同的)
私有繼承:均變私有
許可權:(1)派生類成員也只能訪問基類中的 public/protected 成員;
(2)派生類的物件不能訪問基類中的任何的成員。
保護繼承:公有、保護變保護
許可權:(1)派生類的成員只能訪問基類中的 public/protected 成員;
(2)派生類的物件不能訪問基類中的任何的成員。
共性:1、私有最終都是私有,且不可訪問的;
2、這就像一個許可權大小包含、約束關係,仔細體會;
3、物件只有公有繼承,可以訪問 public 成員,其餘的都是不能訪問的;
4、三種繼承,成員訪問都是一樣的,因為相當於基類成員被已相應的許可權規則被copy到子類;
5、上面說的成員可以是:
(1)成員函式
(2)成員變數
c++問題,書上說,在公有繼承中,基類的私有成員在派生類中,無論是派生類的成員還是派生類的物件都無
12樓:匿名使用者
不對。派生類的成員無法訪問基類的私有函式。基類的私有函式只有基類自己能夠訪問。
從基類那裡繼承來的成員函式,其可以訪問基類的私有函式。但是這種訪問是基類在訪問自己。派生類直接訪問的是繼承來的成員函式(protected or public),不是基類的私有函式。
c++語言:在私有繼承中,基類的公有成員和保護成員成為派生類的私有成員,無法繼續繼承。
13樓:匿名使用者
例如:class a
;class b :private a
//可以訪問a
};class c : public b
;//錯誤,無法通過編譯,a私有,不可見};
在保護繼承情況下,基類成員(私有成員除外)在派生類中訪問許可權是
14樓:匿名使用者
應該是保持不變,你說了除開私有成員,且為保護繼承,則派生類在基類中的訪問許可權也為保護
15樓:匿名使用者
要看具體繼承的型別是public或protect、private,如果是public則許可權不變。
16樓:綠葡萄很甜
public和protect保持不變
17樓:心雲細雨
保持不變
但是在外界不能訪問b類物件中基類的公共成員
在C裡繼承虛基類和普通基類有什麼區別
class c c 過載 覆蓋 隱藏的區別和執行方式 成員函式被過載的特徵 1 相同的範圍 在同一個類中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無。覆蓋是指派生類函式覆蓋基類函式,特徵是 1 不同的範圍 分別位於派生類與基類 2 函式名字相同 3 引數相同 4 基類函式必須...
c繼承父類的子類如何呼叫父類的同名函式
子類呼叫父類的同名函式 子類和父類返回值引數相同,函式名相同,有回virtual關鍵字,則由答物件的型別決定呼叫哪個函式。子類和父類只要函式名相同,沒有virtual關鍵字,則子類的物件沒有辦法呼叫到父類的同名函式,父類的同名函式被隱藏了,也可以強制呼叫父類的同名函式class funtion na...
c的類成員函式如何訪問全域性變數
假如有個全域性變數int a,存放於myfile.h檔案中,則在類中用,需要新增 include myfile.h extern int a 即可 一般情況下,假如沒有區域性宣告變數,就會呼叫全域性變數,如果宣告瞭區域性變數,則,區域性變數會遮蔽全域性變數。除非你指定呼叫全域性變數,加上作用域操作符...