C++ 重载运算符和重载函数
C++ 重载运算符和重载函数
引言
C++作为一种强大的编程语言,提供了丰富的特性以增强其表达能力和灵活性。其中,运算符重载和重载函数是C++中非常实用的特性。本文将深入探讨C++中的运算符重载和重载函数的概念、语法以及实际应用。
运算符重载
概念
运算符重载是指在C++中,允许用户为已有的运算符定义新的操作。这样,用户可以自定义运算符的用法,使其对自定义类型的数据进行操作。
语法
在C++中,运算符重载通过定义一个名为 operator
的函数来实现。以下是一个简单的例子:
class Complex {
public:double real, imag;Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}Complex operator+(const Complex& other) const {return Complex(real + other.real, imag + other.imag);}
};
在上面的例子中,我们为 Complex
类重载了加法运算符 +
,使其能够对两个 Complex
对象进行相加。
类型
C++中,可以重载的运算符类型包括:
- 一元运算符:如
++
、--
、-
、+
等。 - 二元运算符:如
+
、-
、*
、/
、%
、==
、!=
、>
、<