C 運算子過載四(自定義陣列類)

2021-09-08 15:02:49 字數 1132 閱讀 9255

//

自定義陣列類

#includeusing

namespace

std;

//分析:能獲取陣列長度,新增元素,刪除元素,修改元素

//要求過載,=,==,!=運算子

class

myarray

myarray(

const myarray&obj)

}intlength()

void setdata(int index, int

value)

mspace[index] =value;

}int getdata(int

index)

return

mspace[index];

}void

printfa()

}~myarray()

mlength = 0

; }

public

:

//操作符過載

int & operator(int

num)

return

mspace[num];

}//=操作符過載

myarray & operator=(myarray &obj)

else

int i = 0

;

for (i = 0; i < mlength; i++)

return *this

; }

//==操作符過載

bool

operator==(myarray &myarr)

for (int i = 0; i < mlength; i++)

}return

flag;

}//!=操作符過載

bool

operator!=(myarray &myarr)}}

else

return

flag;

}};void

protecta()

void

protectb()

else

if (arr1 !=arr2)

else

}void

main()

swift 過載和自定義運算子

像這樣定義乙個結構體 struct vector2d 當 vector2d 的兩個變數相加時,我們需要這樣做 let v1 vector2d x 2.0,y 3.0 let v2 vector2d x 4.0,y 5.0 var v3 vector2d x v1.x v2.x,y v1.y v2.y...

C 學習(四) 自動轉換 過載運算子

自定義轉換 為自己的結構或者類定義顯式和隱式轉換。隱式轉換語法 public static implicit operator dog cat cat 本質上是實現乙個靜態的方法,隱式轉換關鍵字使用implicit,使用operator關鍵字標明這是一種轉換操作,這裡的dog本質上是函式名,但實際上...

C 實現 自定義陣列型別實現相關運算子過載

這次我們通過來 自定義陣列型別 過載 運算子 來學習c 運算子過載相關知識。c 的運算子過載是c 相對於其他程式語言的一大特色。在c 裡面,我們用class自定義乙個型別後,為啥可以直接使用 賦值運算子呢?因為 c 自動為我們做了這個動作,我們定義的型別中沒有顯示定義 運算子,它會自動為我們新增預設...