C++ 运算符重载

来源:互联网 发布:智能电视和网络电视有什么区别 编辑:程序博客网 时间:2024/05/24 06:57

 刚学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;

}

 

如果用什么不懂的地方 ,我们可以相互探讨