C中,派生類的成員函式呼叫基類的受保護成員

2021-03-04 05:30:58 字數 2234 閱讀 6972

1樓:匿名使用者

不是很來清楚你的意圖!自

但是在c++中派生類的成員函式bai

是可以直接呼叫基類du的zhi受dao保護成員的。

set(staff & modification);

//傳一個基類的引用,就可以在set中直接修改資料,而不是修改拷貝了。

//但是在基類中,你得把部門,名字,考勤情況等設定為protected.

2樓:匿名使用者

**發上來看看

樓上說的對

在c++中派生類的成員函式是可以直接訪問基類的保護成員和公有成員。

3樓:尋國英酆子

public和protected函式可以直接呼叫。

如果被過載了可以使用

「基類::函式」

這樣的形式呼叫

如果是private就不行了,除非在基類友元自己

c++中怎樣用派生類的成員函式呼叫基類的函式? 5

4樓:

public和protected函式可以直接呼叫。

如果被過載了可以使用 「基類::函式」 這樣的形式呼叫

如果是private就不行了,除非在基類友元自己

5樓:匿名使用者

你是指在派生類成員函式中呼叫基類函式嗎?可以通過基類的類名直接訪問,比如基類a的函式fun(),在派生類b的fun()中使用a::fun()就是呼叫基類的函式了。

c++中,派生類私有繼承基類,如何通過派生類的物件呼叫基類中的函式呢

6樓:特維佐

先定義一來個派生類的物件源,而且你bai

要確保你的基類中的

du成員函式必

zhi須不是private型的。

dao比如:

#include

#include

using namespace std;

class c1

;void c1::f()

class c2:private c1

;void c2::f2()

int mian()

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

7樓:py彭彭

派生類不bai能對基類

私du有成員進行訪問。

要在派生類zhi

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

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

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

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

c++中派生類如何使用基類中的資料成員

8樓:匿名使用者

如果你是派生類例項,這個結果是正確的,派生後會覆蓋基類成員。

9樓:匿名使用者

派生類中繼承了基類的資料成員,只有基類中的受保護

或者公有資料成員在被進行保護或公有繼承時才能被派生類訪問到。基類的私有成員是不可能被派生類訪問到的。你用get()函式訪問基類中的相同的資料成員,但是派生類既然已經繼承了基類,自然基類的資料成員也繼承了,這時候你訪問的派生類的成員(不是你派生之後又新增的成員)時,實際上訪問的就是基類的成員啊。

當然從實質上來看就是派生類的成員。

c++ 在基類中不能被派生類繼承的成員函式有哪兩種

10樓:匿名使用者

建構函式、拷貝建構函式、賦值函式、解構函式

友元函式也不能被繼承,但由於友元不是成員函式,故在這裡說明下

11樓:匿名使用者

私有函式(private), 建構函式,都不能被繼承,解構函式也不可以繼承 ,和虛擬函式搞混了

12樓:匿名使用者

建構函式(constructor)、解構函式(destructor)和友元(friends)。

C 的基類如何訪問其派生類的成員變數

直接訪問靜態變數肯定不行,但可以變通一下,通過虛擬函式獲得這個內靜態變數 給你個容例子,這樣是不是滿足你的要求?但這樣的話,每個繼承類都要做2件事 1.定義靜態變數 2.重寫虛擬函式,返回自己的靜態變數 這2件事可以通過巨集來做。mfc好象就是這麼幹的 include class a class b...

基類派生類的同名成員變數覆蓋問題

你的理解基本很對了。基類的那個print只能訪問基類的 a,訪問不到派生類的 a的。是這個意思,可以再看看虛擬函式的相關內容可能能理 回解更深刻一些。答 c 派生類成員覆蓋基類成員的問題 include using namespace std class a a a void a print cla...

關於c派生類中虛擬函式的問題,C 已經在派生類中重定義了抽象類中的純虛擬函式,為什麼還不讓我用派生類定義物件!?

如果是虛擬函式的話,在派生類中重新定義其函式體時,不會導致同名覆蓋.當用基類指標指向派生類物件並呼叫虛擬函式時,執行的是在派生類中重新定義的虛擬函式的函式體.虛擬函式必須要在基類用virtual修飾才能為虛擬函式,派生類若重定義該函專數,則無論是否有屬virtual關鍵字都是虛擬函式。你要判斷派生類...