文章概述
- 定义运算符重载的步骤
- 使用成员函数和友元函数重载二元运算符
- 使用成员函数和友元函数重载一元运算符
上一篇,我们已经熟悉重载运算符的理论知识,这篇主要是实际操作(代码)。
定义运算符重载的步骤
a.我们首先要知道根据操作数的个数将运算符分为一元运算符和二元运算符。
b.定义运算符重载的步骤:
- 明白运算符重载是一个函数,写出函数名称。(函数名称: operator+运算符(+ - [] = 等))
- 根据操作数和其类型,确定函数参数
- 根据业务,完善函数的返回值(函数的返回值是引用,对象,指针)实现函数业务
使用成员函数和友元函数重载二元运算符
a. 使用友元函数完成二元运算符重载:
函数返回值 operator op (object& A,object& B);
b. 使用成员函数完成二元运算符重载:
函数返回值 类名::operator op(object& B);
c.我们以+ - 运算符为例:
class Test
{
friend Test operator+ (Test& a, Test& b);
private:
int x;
int y;
public:
Test()
{