C 賦值過載運算子

2021-10-23 17:32:27 字數 915 閱讀 6783

1、賦值過載**如下:

class

person

//過載運算子

person&

operator

=(person &p)

//提供深拷貝,解決淺拷貝的問題

m_age =

newint

(*p.m_age)

;return

*this;}

~person()

}int

* m_age;

};

2、測試**

person p1(18

);cout <<

"p1的年齡為: "

<<

*p1.m_age << endl;

person p2(10

);cout <<

"p2的年齡為: "

<<

*p2.m_age << endl;

person p3(30

);p3 = p2 = p1;

cout <<

"p3的年齡為: "

<<

*p3.m_age << endl;

cout <<

"賦值後的p1的年齡為: "

<<

*p1.m_age << endl;

cout <<

"賦值後的p2的年齡為: "

<<

*p2.m_age << endl;

3、執行結果

p1的年齡為: 18

p2的年齡為: 10

p3的年齡為: 18

賦值後的p1的年齡為: 18

賦值後的p2的年齡為: 18

請按任意鍵繼續.

..

過載運算子,拷貝賦值運算子

一 過載運算子 在c語言當中遇到有很多的運算子,如 等等。如果我們用 對兩個物件進行判斷是否相等,系統就不樂意了,它不知道怎麼樣去判斷兩個物件是否相等?比如,我定義了乙個類,class a a obj1 a obj2 if obj1 obj2 錯誤,系統判斷不了 原因分析 系統遇到兩個物件之間的判斷...

C 過載運算子

運算子過載是一種形式的c 多型。在c 中,編譯器有能力把乙個由資料 物件和操作符共同組成的表示式,解釋為對乙個全域性或成員函式的呼叫。該全域性或成員函式被稱為操作符函式,通過重定義操作符函式,可以實現針對自定義型別 結構,類 的運算法則,並使之與內建型別一樣參與各種表示式。過載運算子可使 看起來更加...

C 過載運算子

本文主要講述加號運算子 自增運算子 流提取運算子運 流插入運算子 先給出vector類 class vector 建構函式 vector const vector v 拷貝建構函式 vector operator const vector v 過載 vector operator 過載前置自增運算子...