學點C 5 運算子過載 索引器 屬性 委託

2021-05-24 11:07:09 字數 1572 閱讀 1397

若要過載某個運算子,可以編寫乙個函式,在其命名運算子之後加上要過載的運算子的符號。例如,可按以下方法過載 + 運算子:

public static complexnumber operator+(complexnumber a, complexnumber b)
索引器
public class department

public string this [int index] //indexer

else

}set

else}}

// code for the rest of the class...

}

屬性(相當於annotation)
public class utilities : system.web.services.webservice

}

[system.serializable()]        

public class employee

委託
類似地,若要為任何帶字串引數且返回 long 型結果的函式建立委託,則使用以下語法:

delegate

long del2(

string s);

然後,可以將此委託分配到帶有此簽名的任何方法,如下所示:

del2 d;

// declare the delegate variable

d = dowork;  // set the delegate to refer to the dowork method
其中 dowork 的簽名為:

public

static

long dowork(

string name)

呼叫委託相當簡單。只需用委託變數的名稱替代方法名稱。這將使用值 11 和 22 呼叫 

add 方法,並返回乙個 long 型結果,該結果被賦給變數 

sum:

del operation;                 // declare the delegate variable

operation = add; // set the delegate to refer to the add method

long sum = operation(11, 22); // invoke the delegate

public class mathclass

public static long multiply (int i, int j) // static

}class testmathclass

}

事件

public class eventclass

}class testevents

private static void morecodetorun(object sender, system.eventargs e)

static void main()

}

學習c 5 運算子過載

一 什麼是運算子過載 所謂過載,就是重新賦予新的含義。函式過載就是對乙個已有的函式賦予新的含義,使之實現新功能,因此,乙個函式名就可以用來代表不同功能的函式,也就是 一名多用 又如 也是位移運算子 右移 但在輸入操作中又是與流物件 cin 配合使用的流提取運算子。這就是運算子過載 operator ...

C 運算子過載和索引器

運算子的過載就是從新定義運算子的意義,總的來說就是讓運算子的作用與原來的作用有稍許的不同,但是表示的方法還是一樣的,需要注意的是,過載的邏輯運算子需要成對出現,如 和!和 和 等 舉個例子 private const double epsilon 0.0000001 public static bo...

C 學習筆記 lesson5 運算子過載

include 模擬所有的int class integer 取位址運算子 空類中預設生成 空類中預設生成 無法過載的運算子 域運算子 三目運算子 直接成員訪問運算子 sizeof integer operator const integer other integer operator int n...