C 的取位址運算子與私有成員

2021-07-02 13:11:05 字數 656 閱讀 8614

在c++中類的私有成員,在超出類的作用域時,是不能被訪問的,但是可以用引用的方式來得到私有成員的資料

如下例:

#includeusing namespace std;

class people

void print();

int &back();

private:

int x;

};int &people::back()

void people::print()

int main()

執行結果:

但是這種方式去得到類的私有成員很容易因為亂修改私有成員而導致無法察覺的錯誤,所以可以用下面的方式來定義函式(用const使程式無法改變私有成員,只能讀取)

class people

void print();

/*修改的部分*/

const int &back();

private:

int x;

};

加了const之後,之前寫的那段程式將會表示編譯錯誤,說明此時的私有成員是不能被修改的

c語言 取位址運算子的理解

例如 int a 1 假設a的位址是0x7dfe88 int p int 0x7dfe88 int num 1 int p1 以上是一段簡單的給指標p,p1賦值的 0x7dfe88是一段單純的十六進製制位址,但是當位址轉指標的時候卻必須加上強轉 int 如果不加強轉,那麼編譯器就會提出警告 warn...

C 成員運算子

點 運算子和 箭頭 運算子用於引用類 結構和共用體的成員。點運算子應用於實際的物件。箭頭運算子與乙個指向物件的指標一起使用。例如,假設有下面的結構 struct employee emp 下面的 把值 zara 賦給物件 emp 的first name成員 strcpy emp first name...

成員運算子 與指標運算子 的區別

在間接引用的時候,例如指標 p 就用p member如果是直接引用或者類本身或者內部引用就用.比如classa.member 或classtype copyconstructor classtype classa 要確定是用 還是用 必須先確定它前面的是乙個物件還是乙個物件指標。a a,p p a ...