1、引入

如何編寫一個通用加法函數(shù)?
第一個方法是使用函數(shù)重載, 針對每個所需相同行為的不同類型重新實現(xiàn)這個函數(shù)。C++的這種編程機制給編程者極大的方便,不需要為功能相似、參數(shù)不同的函數(shù)選用不同的函數(shù)名,也增強了程序的可讀性。簡單示例:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

1 int Add(const int &_iLeft, const int &_iRight)2 {3 return (_iLeft + _iRight) ;4 }f5 loat Add(const float &_fLeft, const float &_fRight)6 {7 return (_fLeft + _fRight) ;8 }

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

【 缺點】
1、 只要有新類型出現(xiàn), 就要重新添加對應(yīng)函數(shù)。
2、 除類型外, 所有函數(shù)的函數(shù)體都相同, 代碼的復(fù)用率不高
3、 如果函數(shù)只 是返回值類型不同, 函數(shù)重載不能解決
4、 一個方法有問題, 所有的方法都有問題, 不好維護。
還有一個方法是使用公共基類, 將通用的代碼放在公共的基礎(chǔ)類里面,讓需要這部分功能的類去繼承它。但是這也有【 缺點】:
1、 借助公共基類來編寫通用代碼, 將失去類型檢查的優(yōu)點;
2、 對于以后實現(xiàn)的許多類, 都必須繼承自 某個特定的基類, 代碼維護更加困難。
此外還可以使用特殊的預(yù)處理程序

1 #define ADD(a, b)&n
        
		

網(wǎng)友評論