第一次接触到符号重载时,总感觉有地方理解不对,比如:
Box operator+(Box& a,Box& b);
Box& operator+(Box& b);
为什么一会儿两个参数,一会一个参数,后来做的多了发现,其实这是符号重载的两个不同位置决定的。
如果在类内作为类的内部函数,那么就时一个参数,比如第二个Box& operator+(Box& b);,如果在类外就需要两个参数,左操作数和右操作数。
详细的可以看一下这个连接:
https://blog.csdn.net/liitdar/article/details/80654324?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase