C++双目运算符重载详解

重载运算符的用法挺多,也蛮容易搞混的。是双目运算符,左边一个操作数、右边一个操作数,一起参与计算。C++里想让它更听你的话,就得动手重载一下。operator+operator==这种都算双目。

双目运算符的重载方式,写成成员函数比较直观,尤其是当左边那个操作数是你自己写的类对象。举个例子,你有个类叫A,那oprd1 + oprd2其实就是oprd1.operator+(oprd2),核心就在这。

这篇文章写得比较清楚,了什么场景该用成员函数重载,什么时候用友元函数更方便,适合刚开始摸运算符重载的你。哦,对了,相关内容可以参考C++运算符重载:成员函数 vs 友元函数,区别讲得挺细。

如果你正在写自定义类,想让它支持像a == ba + b这种操作,运算符重载是逃不开的。推荐你顺手也看看C++运算符重载这篇,图文结合,理解会更快。

小提醒一下,写成员函数重载时,记得参数类型得写成“对方”的类型,不然编译器可不跟你客气。嗯,有时候不小心重载过多也影响可读性,还是得权衡下。

ppt 文件大小:5.27MB