运算符重载是指给一些类"定义"一些运算符.比如整型变量 a 和b 相加 ,直接可以a+b,可以直接用到+这个运算符. 如果我想让二个对象相加,就是让这二个对象里面的数据成员相加或者相减,就要自己去定义一个加的运算符.
一个简单的代码,你看一下#include "stdafx.h"
#include <iostream.h>
class C
{ public:
C(int m=0,int n=0);
void display();
friend C operator +(C &,C &);
private :
int a;
int b;
};
void C::display()
{cout<<a<<"
"<<b;}
C operator +(C&x,C&y)
{
C c;
c.a=x.a+y.a;
c.b=x.b+y.b;
return c;
}
C::C(int x,int y)
{
a=x;
b=y;
}
void main()
{
C x(1,2),y(3,4),z;
z=x+y;
z.display();
}