[英]overloading multiple operators in one function
是否可以在一个运算符重载中重载多个运算符?
我想做这样的事情:
template<operator O>
MyClass operator<O>(const MyClass & other) {
return this.x <O> other.x;
}
其中 x 是 class 的 int 属性。
这样就可以一次重载所有 int 运算符,这意味着我可以使用一个 function、重载 +、-、* 等来复制粘贴代码一百万次并只更改一行。
在我的具体示例中,我有一个包含两个整数的结构点,以及另一个名为 Pointf 的结构,其中包含两个浮点数,我希望能够将它们彼此相加、相减、相乘和除法,或者使用一个 int 值,目前我用十几个函数来做,但我想只用几个函数来做,我也想覆盖 +=、-=、*- 和 /=。
是否可以在一个运算符重载中重载多个运算符?
我想做这样的事情:
template<operator O>
MyClass operator<O>(const MyClass & other) {
return this.x <O> other.x;
}
其中 x 是 class 的 int 属性。
这样就可以一次重载所有 int 运算符,这意味着我可以使用一个 function、重载 +、-、* 等来复制粘贴代码一百万次并只更改一行。
在我的具体示例中,我有一个包含两个整数的结构点,以及另一个名为 Pointf 的结构,其中包含两个浮点数,我希望能够将它们彼此相加、相减、相乘和除法,或者使用一个 int 值,目前我用十几个函数来做,但我想只用几个函数来做,我也想覆盖 +=、-=、*- 和 /=。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.