刚学C++ 的朋友不难看出,int 和 int 相加 得到是一个int 类型的数 ,而 int 和double 相加却得到一个double 类型的数。。。。
不难看出,相同的+号 却有 不同的用处 , 其实这是编译器为我们编译好的系统类。。个个类有不同的加号。。这就是运算符重载。
下面我们用一个实例来演示复数的相加:
#include<iostream>
using namespace std;
class Complex
{
public:
int real;
int vi;
Complex(int real,int vi)
{
this->real=real;
this->vi=vi;
}
Complex operator + (Complex a)
{
return Complex(a.real+this->real,a.vi+this->vi);
}
};
void main()
{
Complex a(10,20);
Complex b(20,30);
b= b.operator+(a);
cout<<b.real;
}
如果用什么不懂的地方 ,我们可以相互探讨
2583

被折叠的 条评论
为什么被折叠?



