C++双目运算符重载详解
重载运算符的用法挺多,也蛮容易搞混的。是双目运算符,左边一个操作数、右边一个操作数,一起参与计算。C++里想让它更听你的话,就得动手重载一下。operator+
、operator==
这种都算双目。
双目运算符的重载方式,写成成员函数比较直观,尤其是当左边那个操作数是你自己写的类对象。举个例子,你有个类叫A
,那oprd1 + oprd2
其实就是oprd1.operator+(oprd2)
,核心就在这。
这篇文章写得比较清楚,了什么场景该用成员函数重载,什么时候用友元函数更方便,适合刚开始摸运算符重载的你。哦,对了,相关内容可以参考C++运算符重载:成员函数 vs 友元函数,区别讲得挺细。
如果你正在写自定义类,想让它支持像a == b
、a + b
这种操作,运算符重载是逃不开的。推荐你顺手也看看C++运算符重载这篇,图文结合,理解会更快。
小提醒一下,写成员函数重载时,记得参数类型得写成“对方”的类型,不然编译器可不跟你客气。嗯,有时候不小心重载过多也影响可读性,还是得权衡下。
5.27MB
文件大小:
评论区