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

2021-03-04 04:29:04 字數 476 閱讀 3783

1樓:匿名使用者

你的理解基本很對了。基類的那個print只能訪問基類的 a,訪問不到派生類的 a的。

2樓:匿名使用者

是這個意思,可以再看看虛擬函式的相關內容可能能理

回解更深刻一些。答

c++派生類成員覆蓋基類成員的問題

3樓:匿名使用者

#include

using namespace std;

class a

;a::a()

void a::print()

class b: public a

;b::b()

void b::print()

int main()

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

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

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

不是很來清楚你的意圖 自 但是在c 中派生類的成員函式bai 是可以直接呼叫基類du的zhi受dao保護成員的。set staff modification 傳一個基類的引用,就可以在set中直接修改資料,而不是修改拷貝了。但是在基類中,你得把部門,名字,考勤情況等設定為protected.發上來看...

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

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