学科分类
目录
C++基础

运算符重载的意义

在C++中,运算符的操作对象只能是基本数据类型。实际编程中,对于很多用户自定义的类型(如类、结构体等),也需要运算操作。而运算符重载解决了这个问题。运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时做出不同的行为。

例如,用户定义一个“学生”类型的结构,包括姓名、年龄、班级、成绩等信息。定义两个“学生”变量,并将两个变量比较大小。实际上系统并不知道要怎么比较大小,这时,就要为“学生”类型重载“>”符号,然后在这个方法里实现比较的意义。比如按年龄比较大小、按成绩比较大小、按姓名首字母比较大小等。接下来通过一幅图来描述 “>”符号重载的过程,如图1所示。

图1 “>”符号重载过程

图1中为“学生”结构重载了“>”符号,重载了该符号后,就可以直接用“>”符号来比较两个“学生”类型的对象,系统在调用时会自动按照“学生”对象中的“成绩”成员来比较大小。

运算符重载的本质是函数重载,它也是C++多态的一种体现,为用户提供了一个直观的接口,调用运算符操作自定义数据类型其实就是调用运算符函数。运算符重载增强了C++的可扩充性,使得C++代码更加直观、易读,且便于对对象进行各种运算操作。

点击此处
隐藏目录