假设我在Car
课程中实施了以下运算符:
Car operator*(int n, const Car& car);
我有一个类型car
的{{1}}对象:
Car
会产生与Car car3 = car * 3;
相同的结果吗?
或者我还必须实施
Car car3 = 3 * car;
编辑:标记的问题对我没有帮助。在标记的问题中,答案是使用他在课堂上实施的操作员。我问过运营商我已经在课外实施了。
答案 0 :(得分:-1)
是的,你有。这是因为c ++不会像在数学中习惯的那样对+运算符强制执行任何simmetric规则。 一种方法是内联定义第二个定义并调用第一个定义。