c++基礎:過載,模板
阿新 • • 發佈:2018-11-21
一:過載 1.函式過載: (1)不同引數型別,不同引數個數可以過載 例如下面的不能過載: void fun(int); 和 void fun(int &) (2)不能用函式返回值過載
2.運算子過載: (1)編譯器根據參加運算的運算元的型別來識別不同的運算; (2)過載運算子就是編寫一個運算子函式,該函式原形是: <返回值的資料型別> operate<要過載的運算子>(<形參表>) (3)可以用普通函式或成員函式的形式過載操作符 (4)當利用非成員函式過載雙目運算子時,第一個形參表示左邊的運算元,第二個形參表示右邊的運算元 (5)當用成員函式過載雙目運算子時,運算子左邊的操作符就是物件本身
二:模板(為了避免程式碼重複編寫) 1.函式模板:即將引數和返回值的資料型別引數化 格式例如: template <class T1, class T2, class T3> T1 myfun(T2 a, T3 b) { ... }
注:類模板的型別引數表可以含有確定型別的引數,如上面的最後一個引數,這時宣告時要代入具體值??