操作符重载

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隐式类型转换。遇到这种情形,则会引起二义性。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容