關於繼承的乙個問題

2021-05-28 11:57:08 字數 432 閱讀 5212

關於繼承的乙個問題

(liupq 2009.12.5)

下面程式中的f2()函式為什麼是錯誤的:

#include

#include

using namespace std;

class abc

protected:

int n(){};

};class def : public abc

//error

void f3(def &b)

private:

};int main(int argc, char *argv)

為什麼f1,f3函式都是對的,而f2是錯的?因為f2中的a.n()中的a是父類abc的物件,而不是def的物件,a.n()是abc的成員,而不是def的成員。被繼承的受保護成員在子類中是可以的,是指被繼承到子類中的那個成員。

關於繼承的乙個問題

class a virtual a class b public a virtual b class c public b virtual c int fun int n char last4hex unsigned int num,char a 5 int main int argc,char a...

JAVA中關於繼承和隱藏的乙個另類問題。

成員變數的隱藏 如果在子類中對從父類繼承來的成員變數進行重新定義,即出現了子類變數對父類變數的隱藏。所謂隱藏是指子類擁有兩個相同名字的變數,乙個是繼承自父類,另乙個是由自己定義的。當子類執行它自己定義的方法時,如果操作該變數,所操作的是它自己定義的變數,而把繼承自父類的變數 隱藏 起來。當子類執行從...

乙個關於 include的問題

2001年05月03日 12 04 00 乙個關於 include的問題 趙湘寧 問題 我試圖將乙個標頭檔案包含在工程的資源檔案中。為此在.rc檔案中新增了如下一行 include myfile.h 雖然執行沒有問題,但是每次在visual studio中開啟資源時,它都把這一行 刪除掉了。我之所以...