例如,假设您正在设计一个名为 的对象类Car,它支持用符号 表示的二元运算+,即您可以执行car1 + car2wherecar1和car2are 的实例Car
当您刚刚完成抽象代数课程时,您尝试Car根据数学群论将课程设计为一个“群”,因此该课程Car具有以下属性:
car1 + car2返回另一个实例Car(car1 + car2) + car3 == car1 + (car2 + car3)- 对于任何实例
carx,都有car0这样一个实例carx + car0 == car0 + carx == carx - 每个实例
carx都有它的逆carx_inv,使得carx + carx_inv == carx_inv + carx == car0
你能给我一个例子,这种实现是必要的,或者至少是有益的。