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

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

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 中這個運算子書上叫成員指標訪問運算子

比如 int p,a 5 p a cout p 針p所指向的變數的值。如果你需要的是結構體中的指標和變數的例專子,可以屬hi我。一個例子 class classname classname c 的用法,經由物件呼叫 c.pmf 5 classname pc c 的用法,經由物件指標呼叫 pc pmf...

c物件資料成員儲存問題,C 類與物件 將n個數存入一個類物件的資料成員中

class 類 類 物件 new 類 c 類與物件 將n個數存入一個類物件的資料成員中 include using namespace std const int maxsize 100 class array int length 返回陣列中元素實際個數void insert int i,doub...

C中在子類中訪問父類成員的關鍵字是什麼

使用base.呼叫父類裡面的屬性 public class parent public class child parent 1 父類不能直接強制轉換成子類 2 子類可以強制轉換成父類,但是在父類中只能取父類的欄位與方法因此在一個父類對應多個子類的時候,不知道具體是哪個子類的時候,就可以先宣告一個父...