传智扫地僧课程学习笔记。
运算符重载实现方法,
1,用成员函数
2,用友元函数
区别是,传参是否内部使用this指针,
全局函数、类成员函数方法实现运算符重载步骤
1)要承认操作符重载是一个函数,写出函数名称operator+ ()
2)根据操作数,写出函数参数
3)根据业务,完善函数返回值(看函数是返回引用 还是指针 元素),及实现函数业务
//成员函数法 实现 -运算符重载
Complex operator-(Complex &c2)
{
Complex tmp(this->a - c2.a, this->b - c2.b);
return tmp;
}
Complex c4 = c1 - c2; //内部会传this指针,
//全局函数法 实现 + 运算符重载
Complex operator+(Complex &c1, Complex &c2)
{
Complex tmp(c1.a + c2.a, c1.b + c2.b);
return tmp;
}
需要在类的内部,声明为友元函数,
friend Complex operator+(Complex &c1, Complex &c2);
这里特殊,返回值类型,是引用,还是元素,得一致!!