如何重载条件运算符?

0x9*_*x90 2 c++ operator-overloading conditional-operator

可能重复:
运算符重载

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

int a,b,c;

  a=10;
  b=11;
  c = (a>b) ? a : b;
Run Code Online (Sandbox Code Playgroud)

可能吗?

Kar*_*ath 5

您不能重载条件运算符.


P M*_*P M 5

几个运营商不能超载.这些运算符将名称而不是对象作为其右操作数:

  • 直接会员访问(.)

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

  • 范围解析(::)

  • 尺寸(sizeof)

条件运算符(?:)也不能超载.

此外,新的类型转换操作符:的static_cast <>,的dynamic_cast <>,的reinterpret_cast <>和的const_cast <>和#和##预处理器令牌不能被重载.

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