【发布时间】:2020-05-15 16:05:47
【问题描述】:
我只想编写一个运算符重载函数,但它可以执行 ==,!=, 或 >=。 我们是否可以使用预处理器来更改函数的符号?像这样的
class A{
private:
int b;
//some code
public:
#define macro(sign) sign
bool operator macro(sign)(const A& obj){
return (b macro(sign) obj.b)
}
}
对不起,我知道做这样的事情是完全不可能的。但我只是好奇我是否可以编写一个泛型运算符重载函数。
【问题讨论】:
-
不要永远使用宏,除非它是唯一可能的选择(这很少见)。
-
你让我在“不要永远使用宏...”。
标签: c++ generics operator-overloading