可以简单的把运算符看成一个函数,以此来实现运算符的重载
废话不多说直接上代码:
#include<stdio.h>
#include<iostream>
using namespace std;
struct ac{
int a;
double b;
}x1,x2;
ac operator+(ac a,ac b){
ac c;
c.a=a.a+b.a;
c.b=a.b+b.b;
return c;
}
int main(){
int a=2,b=3;
cout<<a+b<<endl;
x1={1,1.9};
x2={2,0.1};
x1=x1+x2;
cout<<x1.a<<" "<<x1.b<<endl;
return 0;
}
运行结果:
其中
ac operator+(ac a,ac b){
ac c;
c.a=a.a+b.a;
c.b=a.b+b.b;
return c;
}
x1=x1+x2;
类似
ac add(ac a,ac b){
ac c;
c.a=a.a+b.a;
c.b=a.b+b.b;
return c;
}
x1=add(x1,x2);