【发布时间】:2017-10-14 03:18:47
【问题描述】:
我试图理解加号的运算符重载。我看到了 2 个原型:
Box operator+(const Box& b) { ... }
Box operator+(const Box& left, const Box& right) { ... }
哪一个是对的?如果区别只是第一个是成员函数,第二个是非成员,那么假设我定义了两种方式,那么将调用哪一个?
Box a, b;
Box c = a + b;
【问题讨论】:
-
试试看。 (填,填)
-
“假设我定义了两种方式”当你尝试它时发生了什么?
-
@RustyX:我不知道怎么做。