C++ 运算符重载
提示
- 运算符重载概念:在C++中,可以改变用户定义类型(如对象和结构体)的运算符工作方式,这称为运算符重载。例如,可以重定义
+
运算符来实现两个复数对象的相加。 - 运算符重载的语法:要重载一个运算符,需要在类或结构体内定义一个特殊的
operator
函数。这 个函数的返回类型、运算符符号(如+
、<
、-
)和参数由我们指定。 - 一元和二元运算符重载:一元运算符(如
++
)操作一个操作数,而二元运算符(如+
)则操作两个操作数。在重载二元运算符时,调用对象会作为第一个操作数,参数对象作为第二个操作数。
在 C++ 编程中,我们可以改变用户自定义类型(如对象和结构体)的运算符工作方式,这被称为运算符重载。例如,
假设我们创建了三个名为 Complex
的类对象 c1、c2 和 result,用来表示复数。
由于运算符重载允许我们改变运算符的工作方式,我们可以重新定义 +
运算符的工作方式,并通过编写以下代码来实现 c1 和 c2 的复数相加:
result = c1 + c2;
而不是使用类似以下的代码:
result = c1.addNumbers(c2);
这使得我们的代码更直观易懂。
注意: 我们不能对基本数据类型(如 int
、float
、char
等)使用运算符重载。