過載運算子

2021-10-01 03:39:15 字數 1907 閱讀 3773

過載運算子

print(1

+2)print

('1'

+"2"

)#不同的型別有不同的解釋

class

complex

:def

__init__

(self, x, y)

: self.x = x

self.y = y

defshow

(self)

:print

(self.x,

'+', self.y,

'i')

def__add__

(self, other)

:#過載的含義就是針對本型別,對於+重新解釋

self.x += other.x

self.y += other.y

c1 =

complex(1

,2)c2 =

complex(3

,4)c1.show(

)c2.show(

)c1 + c2

c2.show()``

```python

#不同的型別有不同的解釋

class

complex

:def

__init__

(self, x, y)

: self.x = x

self.y = y

defshow

(self)

:print

(self.x,

'+', self.y,

'i')`#不同的型別有不同的解釋

class

complex

:def

__init__

(self, x, y)

: self.x = x

self.y = y

defshow

(self)

:print

(self.x,

'+', self.y,

'i')

def__add__

(self, other)

:#過載的含義就是針對本型別,對於+重新解釋

iftype

(other)

==type

(self)

:#過載complex+complex ,判斷型別

return

complex

(self.x + other.x, self.y + other.y)

#加法的返回值為匿名的complex物件

elif

type

(other)

==type(10

):#過載complex+int ,判斷型別

return

complex

(self.x + other.x, self.y)

c1 =

complex(1

,2)c2 =

complex(3

,4)c1.show(

)c2.show(

)c3 = c1 + c2

c3.show()`

def__add__

(self, other)

:#過載的含義就是針對本型別,對於+重新解釋

return

complex

(self.x + other.x, self.y + other.y)

#加法的返回值為匿名的complex物件

c1 =

complex(1

,2)c2 =

complex(3

,4)c1.show(

)c2.show(

)c3 = c1 + c2

c3.show(

)

過載運算子

題目描述 定義乙個矩形類,資料成員包括左下角和右上角座標,定義的成員函式包括必要的建構函式 輸入座標的函式,實現矩形加法,以及計算並輸出矩形面積的函式。要求使用提示中給出的測試函式並不得改動。兩個矩形相加的規則是 決定矩形的對應座標分別相加,如 左下角 1,2 右上角 3,4 的矩形,與 左下角 2...

過載運算子

include include using namespace std class test test const int a v a test const test t1 v t1.v 以下過載小於號 比較兩個物件的大小 bool operator const test t1 const 比較物件...

過載運算子

1.當乙個過載的運算子是成員函式時,this繫結到左側運算物件。成員運算子函式的引數比運算物件的數量少乙個。非成員函式呼叫等價於 data1 data2 普通表示式 operator data1,data2 等價的函式呼叫成員函式呼叫等價於 data1 data2 普通表示式 data1.opera...