派生類可以呼叫基類的私有成員嗎,派生類能否直接訪問基類的私有成員若不能,應如何實現

2021-03-03 22:15:11 字數 1859 閱讀 4958

1樓:py彭彭

派生類不bai能對基類

私du有成員進行訪問。

要在派生類zhi

中對基dao類成員回進行訪問,可以: 1,在答派生類中對基類成員的public屬性進行訪問,以間接訪問基類的私有成員; 2,在基類中將私有成員定義為protected訪問屬性,以在派生類中直接對其進行訪問。

當位於類成員列表之前時,private 關鍵字指定這些成員僅可從成員函式和該類的友元中進行訪問。這適用於宣告到下一個訪問指示符或類的末尾的所有成員。

當位於基類的名稱之前時,private 關鍵字指定基類的公共成員和受保護成員為派生類的私有成員。類中成員的預設訪問是私有的。結構或聯合中成員的預設訪問是公共的。

基類的預設訪問對於類是私有的,而對於結構是公共的。 聯合不能具有基類。

派生類可以呼叫基類的私有成員嗎

2樓:匿名使用者

您好,我來bai為您解答du:

派生類不zhi

能對基類私有成員dao進行訪問。

要在派回生類中對基類成員答進行訪問,可以:

1,在派生類中對基類成員的public屬性進行訪問,以間接訪問基類的私有成員;

2,在基類中將私有成員定義為protected訪問屬性,以在派生類中直接對其進行訪問;

希望我的回答對你有幫助。

3樓:匿名使用者

當然不可以,除了基類自己的函式和基類的友元之外都不可以

4樓:只冰山一角

不能的只能訪問protected和public

派生類能否直接訪問基類的私有成員?若不能,應如何實現?

5樓:匿名使用者

不能不過可以在基類裡面增加公有的setxx和getxx方法,在子類裡面通過這些getxx和setxx方法間接訪問基類的私有成員變數

6樓:死水

不能。。。只能通過基類來訪問。

7樓:藍專欒俊語

不能訪問!也不可實現!也沒有實現的必要!

你理解出了問題!類回成員的既然

定義答為私有成員就是為了除本類外不能讓任何類訪問!你試圖修改這個規則只能說明你的理解出錯!轉牛角尖了!

如果是想讓子類能訪問

就將其由私有成員改為受保護的成員!讓也可在父類中定義一個函式返回該私有成員的值

不過沒有任何意義!!

在派生類中能否直接訪問基類中的私有成員?

8樓:汗嘉音初睿

不可以,派生類可以訪問protected和public成員,private成員只有該類自身及友元類可以訪問

9樓:牧樂志秋慕

不能不過可以在基類裡面增加公有的setxx和getxx方法,在子類裡面通過這些getxx和setxx方法間接訪問基類的私有成員變數

c++中派生類如何實現對基類私有成員的訪問?

10樓:匿名使用者

派生類不能對基類私有成員進行訪問。

要在派生類中對基類成員進行訪問,可以:

1,在派生類中對基類成員的public屬性進行訪問,以間接訪問基類的私有成員;

2,在基類中將私有成員定義為protected訪問屬性,以在派生類中直接對其進行訪問;

11樓:小帥姐姐狹

基類的私有成員在派生類中是不能直接訪問的,但是基類一般會提供返回這些資料成員的方法,通過這些方法來獲取基類私有成員的值

比如基類中有一個成員變數name

一般通過getname()方法就可以訪問到

C 類的公有繼承,基類的私有成員在派生類中不可見或不可訪問

在c 語言中,一個派生類可以從一個基類派生,也可以從多個基類派生。從一個基類派生的繼承稱為單繼承 從多個基類派生的繼承稱為多繼承。方式如下 公有繼承 public 私有繼承 private 保護繼承 protected 是常用的三種繼承方式。1.公有繼承 public 公有繼承的特點是基類的公有成員...

c 中基類指標指向派生類時,呼叫的虛擬函式是派生類的,為什麼要這樣啊

直接用子類物件呼叫函式當然沒問題,基類指標指向派生類物件是多型性的體現。什麼是多型呢?多型就是不同物件接受相同的訊息,但是卻產生不同的行為,舉一個很簡單的例子,有一個圖形類,他有幾個派生類,如圓形,三角形,矩形。圖形類有一個函式area 用來求面積,但是由於不同圖形求面積的方法不同,要由具體的派生類...

C 基類指標指向派生類指標時,指標可以用派生類的非虛方法嗎

需要知道一些常識,一個類所有的函式都是再code 區中唯一的存放一份。而資料成員則是每個物件儲存一份,並按照宣告順序依次存放。類a中有了虛擬函式就會再類的資料成員的最前面新增一個vfptr指標 void vfptr 這個指標用來指向一個vtable表 一個函式指標陣列 一個類只有一個該表 該表儲存著...