C 運算子過載和索引器

2021-07-05 23:08:42 字數 820 閱讀 4875

運算子的過載就是從新定義運算子的意義,總的來說就是讓運算子的作用與原來的作用有稍許的不同,但是表示的方法還是一樣的,需要注意的是,過載的邏輯運算子需要成對出現,如:

==和!=             > 和  <=     < 和  >=     等

舉個例子:

private  const  double  epsilon=0.0000001;

public static bool operator ==(vector lhs, vector rhs)

; set{};

}

其中get是用來獲取索引以檢索,set是用來獲取索引以新增。

下面**的例子非常形象:

class  photo

public string title

}}class album

public photo this [index]

return photos[index];

}set

photos[index]=value;}}

}static void main(string args)

通過這個例子我們看出相簿(album)這個類有個索引,就是宣告的photo[index],其中的index代表的就是**物件的序號,查詢**的時候可以通過索引查,也可以通過名字查。這就是索引的作用。

通過對這兩個例子具體應用的總結,了解了前面學習的內容應用和另外的一種使用方法,除此之外就是用this來使用索引,更是很稀奇,所以看來物件導向的程式設計我們還有很多的東西要學習啊。

C 過載 和 運算子

流提取運算子 和流插入運算子 注意,我們到目前為止,必須呼叫tostring 函式返回乙個表示rational物件的字串,再把它顯示出來。例如,為了顯示rational 物件r,要編寫一下 形式1 cout r.tostring 而不能直接使用 形式2cout r 但我們平時見到的int doubl...

C 運算子過載和函式過載

c 允許在同一作用域中的某個函式和運算子指定多個定義,分別稱為函式過載和運算子過載。過載宣告是指乙個與之前已經在該作用域內宣告過的函式或方法具有相同名稱的宣告,但是它們的引數列表和定義 實現 不相同。當呼叫乙個過載函式或過載運算子時,編譯器通過把您所使用的引數型別與定義中的引數型別進行比較,決定選用...

C 運算子過載 過載特殊運算子

賦值運算子用於同類物件間的相互賦值。賦值運算子只能被過載為類的非靜態成員函式,不能過載為友元函式和普通函式。對於使用者自定義的類而言,如果沒有過載賦值運算子,那麼c 編譯器會為該類提供乙個預設的過載賦值運算子成員函式。預設賦值運算子的工作方式是按位對拷,將等到右邊物件的非靜態成員拷貝給等號左邊的物件...