Tuesday, 22 November 2016

c++ - How to overload the conditional operator?










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?


Answer



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 comments:

Post a Comment