所谓重载,就是赋予新的含义。函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作。运算符重载(Operator Overloading)也是一个道理,同一个运算符可以有不同的功能。
实际上,我们已经在不知不觉中使用了运算符重载。例如,+
号可以对不同类型(int、float 等)的数据进行加法操作;<<
既是位移运算符,又可以配合 cout 向控制台输出数据。
C++ 本身已经对这些运算符进行了重载。C++ 也允许程序员自己重载运算符,这给我们带来了很大的便利。
下面的代码定义了一个复数类,通过运算符重载,可以用+
号实现复数的加法运算:
#include <iostream>using namespace std;class complex{public:complex();complex(double real, double imag);public://声明运算符重载complex operator+(const complex &A) const;void display() const;private:double