迎接2012之運算子過載 強型別轉換 委託和事件

2021-06-01 10:44:48 字數 1851 閱讀 5506

一、運算子過載(申明方式:public static 返回值型別 operator 運算子)

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.collections;

using system.reflection;

}public class operatortest

public static int operator + (operatortest ta, operatortest tb)

public static int operator *(operatortest ta, operatortest tb)

}}

二、強型別轉換

(1)implicit 隱式轉換 (申明方式:public static implicit operator 返回值型別)

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.collections;

using system.reflection;

}public class operatortest

public static implicit operator int(operatortest ta)

public static implicit operator operatortest(int test)

}}

(2)explicit 顯式轉換 (申明方式:public static explicit operator 返回值型別)

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.collections;

using system.reflection;

}public class operatortest

public static explicit operator int(operatortest ta)

public static explicit operator operatortest(int test)

}}

三、委託

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.collections;

using system.reflection;

public static void testshixian()

}}

四、事件

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.collections;

using system.reflection;

static void tc_test()

}public class testclass}}

}

運算子過載之過載型別運算子

普通型別 類型別 呼叫對應的只有乙個引數 引數的型別就是這個普通型別 的建構函式 需求 boy boy1 10000 薪資 建構函式boy int boy boy2 rock 姓名 建構函式boy char 普通型別賦值給類型別其實很簡單,就是專門的對這個賦值的型別定義乙個建構函式。編譯器在執行 的...

過載之運算子過載

運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別 運算子過載的宣告方式與方法的宣告方式相同,但operator關鍵字告訴編譯器,它實際上是乙個運算子過載,後面是相關運算子的符號,在本例中就是 返回型別是在使用這個運算子時獲得的型別。在本例中,把兩個向量加起來會得到另...

型別轉換 運算子過載

c 中沒有返回型別的函式有3個,建構函式 析構函式 型別轉換函式。operator const char const 如果是過載 的話,那應該寫成 const char operator const而上面所寫的那樣,而且即使是這樣寫那也不正確的,因為運算子過載中有幾個運算子的返回值是有格式的 約定 ...