我自己的运营商'+',' - '

时间:2015-12-11 21:38:54

标签: c++ operators

  1. 是否可以创建自己的运算符,如“+”或“/”
  2. 在C ++中可以吗? 我已经找到了'#'运算符,但我不知道如何与另一个运行。

3 个答案:

答案 0 :(得分:1)

  1. 您可以为给定的类重载+, - 因此它们具有自定义行为。
  2. 您可以定义#define OP(a,b) ((a))-(b)*(a))之类的预处理器宏,并编写3 OP 4之类的代码。
  3. 除此之外,我不相信你可以用C ++来创建自己的新标记或语法。您总是可以编写自己的编程语言 - 许多人都这样做 - 并且创建一个新的运算符几乎意味着您自己编写了一种新的编程语言。

答案 1 :(得分:1)

通过微不足道的谷歌搜索,我找到了一个表格,可以识别42个可以重载的C ++运算符,以及4个不能运行的C ++运算符。

我没有验证这些信息。

答案 2 :(得分:0)

如果通过创建,则意味着定义,

你可以为custon类型重载许多defult运算符,事实上对于所有:

+ - * / % ˆ & | ~ ! = < > += -= *= /= %= ˆ= &= |= << >> >>= <<= == != <= >= && || ++ -- , ->* -> ( ) [ ]

为您的课程做定制的事情。

您还可以定义函数,例如float add(...)并定义它以执行任何您喜欢的操作