include <iostream>
using namespace std;
struct COMP
{
float real;
float image;
};
COMP operator+(COMP c1,COMP c2)
{
c1.real+=c2.real;
c1.image+=c2.image;
return c1;
}
int main(int argc, const char * argv[]) {
COMP c1 = {1,2};
COMP c2 = {2,3};
COMP sum = c1 + c2;
return 0;
}
- 重载规则:
- 1.函数名相同。
- 2.参数个数不同,参数的类型不同,参数顺序不同,均可构成重载。
- 3.返回值类型不同则不可以构成重载
- 匹配原则:
- 严格匹配,找到调用。
- 通过隐式转换寻求一个匹配,找到则调用。
注:C++允许int 到long和double,double到int和float隐式类型转换。遇到这种情形,则会引起二义性。