C 靜態成員函式訪問非靜態成員

2021-07-23 12:00:11 字數 438 閱讀 7827

如果類沒有被建立,則沒有對應的成員,也就無法訪問

下面這種方法需要先建立類,並將類作為引數傳遞給靜態成員函式才能訪問。

#include

using namespace std;

class person

;class student:

public person

static void get_age(student *_s)

;student();

private

:int m_age;};

student:

:student(

)void student:

:get_age(student *_s)

student *create_person(

)int main()

0 給主人留下些什麼吧!~~

C 中靜態成員函式訪問非靜態成員變數

class a private int menber 編譯上述 出錯。原因很簡單大家都知道,靜態成員函式不能訪問非靜態成員,這是因為靜態函式屬於類而不是屬於整個物件,靜態函式中的 member可能都沒有分配記憶體。靜態成員函式沒有隱含的this自變數。所以,它就無法訪問自己類的非靜態成員。那要想訪問...

C 中靜態成員函式訪問非靜態成員變數

private intmenber 編譯上述 出錯。原因很簡單大家都知道,靜態成員函式不能訪問非靜態成員,這是因為靜態函式屬於類而不是屬於整個物件,靜態函式中的 member可能都沒有分配記憶體。靜態成員函式沒有隱含的this自變數。所以,它就無法訪問自己類的非靜態成員。看過一篇很好的文章 c 中的...

靜態成員不能訪問非靜態成員

首先static的成員是在類載入的時候初始化的,jvm的classloader的載入,首次主動使用載入,而非static的成員是在建立物件的時候,即new 操作的時候才初始化的 先後順序是先載入,才能初始化,那麼載入的時候初始化static的成員,此時非static的成員還沒有被載入必然不能使用,而...