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

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...