【问题标题】:Overloading Operator parameters [duplicate]重载运算符参数[重复]
【发布时间】:2015-08-22 08:34:35
【问题描述】:

我想知道在 C++ 中重载的运算符可以接受多少个参数?

我已经看到运算符同时接受一个和两个参数,所以我想知道他们是否可以同时接受两个参数或只接受一个参数,特别是对于 -<< 运算符。

【问题讨论】:

标签: c++ parameters operators overloading


【解决方案1】:

减号只能取一个参数,如下:

object& operator-(const object &ref); //please note the syntax and use of const

对于

friend ostream& operator<<(ostream &str, const object &ref);

希望能回答你的问题。

【讨论】:

    【解决方案2】:

    &lt;&lt; 始终采用一个参数。例如。使用x &lt;&lt; yx 将是实例operator&lt;&lt;() 被调用,y 将是它的参数。当然,您可以使用 y 的不同类型重载运算符,但始终只有一个。

    - 运算符有两种风格,并且确实被不同数量的参数重载:

    1. 一元 (-x)
    2. 二进制 (x - y)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-25
      • 2015-06-20
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多