1.執行緒休眠等待:thread.sleep(10);
2.對於相同或相似功能,引數個數或型別不同的函式,可以使用函式過載,對於函式結構及工作一致,而一部分內容(如文字)不同時(即非變數的不同,如果是僅變數不同可以使用模板),可以將不同的這一小部分包裝為引數,來減少函式個數。這兩種方法都是為了減少函式個數,使得**更為簡潔,有更好的可讀性。
示例:
public
intaddint
(int a,
int b)
public
double
adddouble
(double a,
double b)
public
intreduce
(int a,
int b)
過載:
//加法過載
public
intadd
(int a,
int b)
public
double
add(
double a,
double b)
public
intreduce
(int a,
int b)
引數包裝:
//加減乘除運算函式,c用於標識計算法則,0加法,1減法,2乘法,3除法。error用於判斷除法是否出錯
//用乙個引數標記加減乘除,這樣運算只需呼叫乙個函式即可,不用定義四個函式
public
intcount
(int a,
int b,
int c,
outbool error)
return
0; break;}
}int x =
1, y =
2, z ;
bool error =
false
;int count =3;
z =count
( x , y , count ,
out error);if
(error)
console.
writeline
("計算錯誤");
else
console.
writeline
(" 計算結果為 :"
+ z.
tostring()
);
引數包裝這個思路我不知道有沒有人想過,我覺得有些時候對於一些功能類別相同的函式,單獨寫出來也可以,但函式會很多,無論呼叫還是編寫,都會比較麻煩。這樣將區別之處包裝為引數,就可以用乙個函式實現。
這是我在做專案想到的,在通過串列埠向硬體傳送指令時,指令與功能一一對應,如果每個功能都寫乙個函式,也是可以的,但函式會很多,無論是起名編寫,還是呼叫都會稍微麻煩一些,而且這些函式除了傳送內容不同,其他並無不同。於是我將指令包裝成引數,將命令格式一致的傳送操作都包裝成乙個函式,命令格式不同的對函式進行過載。而格式與其他都不同的,就單獨作為乙個函式。幾十個命令,用了幾個函式就寫完了,確實是很方便,也很簡潔。
C 過載 筆記
如果運算子被過載為全域性函式,那麼只有乙個引數的運算子叫做一元運算子,有兩個引數的運算子叫做二元運算子。如果運算子被過載為類的成員函式,那麼一元運算子沒有引數,二元運算子只有乙個右側引數,因為物件自己成了左側引數。運算子即可以定義為全域性函式,也可以定義為成員函式。只能過載為成員函式 不能過載的運算...
關於C 函式過載
c 函式過載是使用形參作為特徵標,寫這篇文章是說明一下const作為函式過載特徵的情況 1 形參為引用時 void func const int val void func int val int main 2 形參為指標時 void func int p void func const int p...
c 關於符號過載
過載的操作符在類體中被宣告,宣告方式如同普通成員函式一樣,只不過他的名字包含關鍵字operator,以及緊跟其後的乙個c 預定義的操作符。可以用如下的方式來宣告乙個預定義的 操作符 class person inline bool operator const person ps const 實現方...