How to overload the conditional operator?

Possible Duplicate:
Operator overloading

I was wonder how can I over load the Conditional operator in cpp?

int a,b,c;

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

Is it possible?


Several operators cannot be overloaded. These operators take a name, rather than an object, as their right operand:

  • Direct member access (.)

  • Deference pointer to class member (.*)

  • Scope resolution (::)

  • Size of (sizeof)

  • The conditional operator (?:) also cannot be overloaded.

    Additionally, the new typecast operators: static_cast<>, dynamic_cast<>, reinterpret_cast<>, and const_cast<>, and the # and ## preprocessor tokens cannot be overloaded.

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


    您不能重载条件运算符。


    No, you can't overload the conditional operator, since it's simply shorthand for a simple if..else block.

    You can however overload the operators used in the condition, but not for primitive types such as int , like you have in your example above.

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

    上一篇: 运算符<<重载

    下一篇: 如何重载条件运算符?