c 空指標訪問成員函式的改進措施,加個判斷語句

2021-10-12 10:25:09 字數 920 閱讀 3757

1.this指標在程式中也會暗自被使用。

#include

using

namespace std;

class

person

void

showclassname()

void

showperson()

public

:int mage =

100;};

intmain()

報錯介面如下圖所示:

2.正確的使用方式。

我們在設計到指標指向的函式體中加乙個if判斷的語句,如果是空指標就退出,這樣就可以避免程式爆錯,讓**更加健壯。

#include

using

namespace std;

class

person

void

showperson()

cout << mage << endl;

//這裡我們沒有寫this->,但是系統在編譯的時候會給我們自動加進去,暗指其屬於當前的物件。

}public

:int mage;};

intmain()

如何讓指標不指向空物件?

只需構建乙個實體物件,再讓指標指向它即可。

```cpp

person p1(10);

person* p=&p1;//這時候指向的就不是空指標,而是乙個有實體指向的指標

p->showclassname();

p->showperson();

C 空指標訪問成員函式

空指標訪問成員函式 class person void showage int m age void test01 可以呼叫show,不能呼叫showage。呼叫show時,編譯器隱式加上了void show person this 雖然此時this p 為空,但是下面的函式裡沒有用到this,所以...

空指標訪問成員函式(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...