

运算符重载编程基础

例如:
//全局函数 完成 +操作符 重载 Complex operator+(Complex &c1, Complex &c2)
//类成员函数 完成 -操作符 重载 Complex operator-(Complex &c2)
#include <iostream>
using namespace std;
class Complex
{
public:
int a;
int b;
public:
Complex(int a=0, int b=0)
{
this->a = a;
this->b = b;
}
void printCom()
{
cout<<a<<" + " << b << "i" <<endl;
}
};
//2 函数名 升级
Complex operator+(Complex &c1, Complex &c2)
{
cout<<"12345上山 打老虎"<<endl;
Complex tmp(c1.a + c2.a, c1.b+ c2.b);
return tmp; //
}
void main()
{
int a = 0, b = 0;
int c;
c = a + b; //1 基础数据类型 编译器已经知道了. 如何运算
// a + bi 复数运算规则
Complex c1(1, 2), c2(3, 4);
Complex c3; //2 类 也是一种数据类型 用户自定义数据类型 C++编译器 是不知道如何进行运算
//步骤3
Complex c4 = c1 + c2;
c4.printCom();
//总结: 1 运算符重载的本质 是 函数调用
cout<<"hello..."<<endl;
system("pause");
return ;
}