我正在用Toit编写代码。我想让+操作符在应用于我的一个类Vector时做一些有意义的事情,该类表示二维向量。
我的代码如下所示:
class Vector:
x/float ::= ?
y/float ::= ?
constructor .x .y:我能以某种方式支持这段代码吗?
main:
v1 := Vector 1.0 2.0
v2 := Vector 3.0 4.0
log v1 + v2发布于 2020-08-09 13:28:36
可以将+作为用户定义的运算符添加到Vector类中。解决方案看起来像这样:
class Vector:
x/float ::= ?
y/float ::= ?
constructor .x .y:
operator + other/Vector -> Vector:
return Vector (x + other.x) (y + other.y)other/Vector部分是用于定义Vector上的+运算符接受Vector类型的单个参数的语法。-> Vector部分是用于声明它返回Vector类型的内容的语法。
有些人更喜欢将其称为“运算符重写”而不是“运算符重载”,因为它不完全允许您对不同的参数类型有多个不同的实现。
https://stackoverflow.com/questions/63322805
复制相似问题