1、引入
如何编写一个通用加法函数?
第一个方法是使用函数重载, 针对每个所需相同行为的不同类型重新实现这个函数。C++的这种编程机制给编程者极大的方便,不需要为功能相似、参数不同的函数选用不同的函数名,也增强了程序的可读性。简单示例:
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 }
【 缺点】
1、 只要有新类型出现, 就要重新添加对应函数。
2、 除类型外, 所有函数的函数体都相同, 代码的复用率不高
3、 如果函数只 是返回值类型不同, 函数重载不能解决
4、 一个方法有问题, 所有的方法都有问题, 不好维护。
还有一个方法是使用公共基类, 将通用的代码放在公共的基础类里面,让需要这部分功能的类去继承它。但是这也有【 缺点】:
1、 借助公共基类来编写通用代码, 将失去类型检查的优点;
2、 对于以后实现的许多类, 都必须继承自 某个特定的基类, 代码维护更加困难。
此外还可以使用特殊的预处理程序
1 #define ADD(a, b)&n