运算符重载的实质就是:调用相应的函数
实例:
class mt{
public:
int i;
int m;
void add(int i, int j){
(*this).i = i;
(*this).m = j;
}
mt sum( mt &t){
mt n;
n.i= t.i;
n.m=t.m;
return n;
}
};
void main(){
mt t;
t.add(2,4);
mt t2;
t2.add(3,4);
t.sum(t2);
}
转化成:
class mt{
public:
int i;
int m;
void add(int i, int j){
(*this).i = i;
(*this).m = j;
}
mt operator +( mt &t){
mt n;
n.i= t.i;
n.m=t.m;
return n;
}
};
void main(){
mt t;
t.add(2,4);
mt t2;
t2.add(3,4);
t.operator +(t2); //t+t2
}