c 中空指標物件訪問成員問題,c 中空指標物件訪問成員問題

2021-06-25 14:45:08 字數 807 閱讀 5938

1樓:匿名使用者

這與類名呼叫函式是一樣的

與物件無關

哦 錯了 只有靜態函式才可以

好像是這樣

主動使用一個類時,類就會載入到記憶體中

包括類的靜態成員,和方法(靜態和非靜態都會載入)如此,我們宣告一個類指標時,類就會被載入

所以即使是一個空指標,但訪問的是類的方法。

2樓:

引用smile5201314y的回答

pbase雖然為空  可他仍然是 base的物件 既然是base的物件 當然可以訪問base的成員了

但是空指標物件卻不可以訪問記憶體,一旦訪問記憶體就會出現空指標錯誤!

例如:#include

using namespace std;

class base

void fun3(void)

3樓:歡樂多

因為函式裡面沒有呼叫任何成員變數,所有類例項共享同一成員函式地址,也就是這個函式地址從編譯完就不會再變了,類例項化只是例項化成員變數而已。所以跟呼叫一個函式一樣,但是如果裡面呼叫了成員變數就會出錯。

4樓:匿名使用者

c++為空的類在例項化時會佔用一個位元組的記憶體填充型別為char,這是為了給類實體一個地址,所以pbase地址不會為0x00000000的

你可以搜尋一下有關空類例項化的文章,會有詳細解釋的

5樓:匿名使用者

因為 pbase雖然為空 可他仍然是 base的物件 既然是base的物件 當然可以訪問base的成員了

C和C 指標的指標是什麼型別,C 指標與C指標有什麼區別?

多美的新一天 1 指標的指標,是個記錄單重 一個 指標變數首地址的指標變數 2 與計算機位數有關 16位計算機,2byte 32位,4b 64位,8b 3 象char p1 int p2 將p2賦值給p1,不允許,也沒意義 扈懷煒 指標的指標還是指標型別,他是指向一個指標的儲存空間的。比如 int ...

c若指標指向的物件不存在了,指標是為空(NULL),還是指向的記憶體不可訪問了

如果是你自己定義的指標變數,如果指向的物件不存在了,該指標就會成為野指標。如果是指向簡單變數時,讀出的資料是隨機的,寫操作可能會是程式core掉。如果指向的複雜的物件,例如 class a a pa new a 如果pa指向的物件不存在了,使用pa a檢視或者賦值就會使程式core掉 針對樓主的疑問...

C語言指標問題,C語言指標問題

include int main void max min sz 0 for i 1 ip i printf max d position d n max,j 1 printf min d position d n min,k 1 return 0 c語言指標問題 10 最好貼上完整程bai序 或標...