运算符重载

在C++中,除了函数重载外,还提供了运算符重载。运算符指的是像 +,-,*,/,>> 和 << 这样的符号,代表特定的操作。

运算符即可被想象成一种函数,只不过形式比较特殊。通常的函数参数出现在括号()中,而运算符的参数则围绕着运算符号(之前或之后)。编程语言内置的数据类型(如整数`int`、浮点数`float`、长整数`long`等)所使用的操作符(如加法+、减法-、乘法*等)是由语言本身直接提供的。

C++允许程序员为类对象设计专门的运算符,使得对象的操作能够像内建类型一样自然而直观。这便是运算符重载。

现在让我示范一个重载运算符的做法。只要在以下类的代码中加入+号的重载代码,即可完成CPoint的加法运算:

以operator开头的函数表示是个运算子。加法运算子需要左右两个运算元(operands),左侧运算元是本函数的this指向的对象,右侧运算元是本函数的参数pt。

在C++中,<<和>>是最常用的重载运算符,用于对标准输入输出设备(如屏幕和键盘)进行读写操作,这极大地方便了编程,可以替代繁琐的printf()和scanf()函数。这两个运算符在iostream库中定义,为C++编程提供了极大的便利。

插入运算符 (<<)用于对标准输出设备进行输出,我们可以利用它很方便地对cout连续输出各种内建类型的数据或信息,不必像在C程序中需要识别不同类型的数据并在printf()函数中使用不同的格式符号。

抽取运算符 (>>)用于对标准输入设备进行输入。如下所示:

标签:游戏攻略