//空指標訪問成員函式;
class person
void showage()
int m_age;
};void test01()
//可以呼叫show,不能呼叫showage。
//呼叫show時,編譯器隱式加上了void show(person * this)
//雖然此時this(==p)為空,但是下面的函式裡沒有用到this,所以沒有影響;
//同理,對於showage(),裡面是要用到this->m_age的,但是其為空,所以會報錯。
int main()
可以加入if(!this)的保護措施。
//空指標訪問成員函式;
class person
void showage()
int m_age;
};void test01()
//可以呼叫show,不能呼叫showage。
//呼叫show時,編譯器隱式加上了void show(person * this)
//雖然此時this(==p)為空,但是下面的函式裡沒有用到this,所以沒有影響;
//同理,對於showage(),裡面是要用到this->m_age的,但是其為空,所以會報錯。
int main()
空指標訪問成員函式(3)
c 空指標是可以呼叫成員函式的,但是也要注意有沒有用到this指標。如果用到this指標,需要加以判斷來保證 的健壯性。1 include 2 using namespace std 34 class person512 13void showpersonage int age 1420 21thi...
c 的this指標與空指標類成員函式訪問
我們知道,在c 的非靜態成員函式中,有乙個隱含的引數,即this指標,利用它,我們可以訪問相應物件的資料成員,那麼究竟this指標是如何作用的呢?下面先來看乙個例子。有下面的乙個簡單的類 cpp view plain copy class cnullpointcall int cnullpointc...
C 空指標呼叫成員函式
如果在c 裡用空指標呼叫成員函式會發生什麼情況呢?以下面類為例 class a void geta void seta int x virtual void test 首先我們用空指標p去呼叫成員方法show 發現是可以成功呼叫的 呼叫geta 發現程式可以編譯成功,但執行失敗,並返回了乙個錯誤碼 ...