如何重载条件运算符?

可能重复:
运算符超载

我很想知道如何在cpp中加载条件运算符?

int a,b,c;

  a=10;
  b=11;
  c = (a>b) ? a : b;

可能吗?


几个操作员不能超载。 这些操作员将一个名称而不是一个对象作为它们的右操作数:

  • 直接成员访问(。)

  • 类成员(。*)的引用指针

  • 范围分辨率(::)

  • (sizeof)的大小

  • 条件运算符(?:)也不能重载。

    另外,新的类型转换运算符:static_cast <>,dynamic_cast <>,reinterpret_cast <>和const_cast <>以及#和##预处理器标记不能重载。

    http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=23


    您不能重载条件运算符。


    不,你不能重载条件运算符,因为它只是一个简单的if..else块的简写。

    但是,您可以重载条件中使用的运算符,但不能用于像int这样的基本类型,就像您在上面的示例中那样。

    链接地址: http://www.djcxy.com/p/12701.html

    上一篇: How to overload the conditional operator?

    下一篇: overloading the extraction operator >> in C++