RAD Studio
ContentsIndex
PreviousUpNext
Overloading Operator Functions Overview

This section contains Overloading Operator Functions Overview topics.

Name 
Description 
The assignment operator=( ) can be overloaded by declaring a nonstatic member function. For example,  
You can overload a binary operator by declaring a nonstatic member function taking one argument, or by declaring a non-member function (usually friend) taking two arguments. If @ represents a binary operator, x@y can be interpreted as either x.operator@(y) or operator@(x,y) depending on the declarations made. If both forms have been declared, standard argument matching is applied to resolve any ambiguity. 
Syntax  
Syntax  
Operator functions can be called directly, although they are usually invoked indirectly by the use of the overload operator:  
With the exception of the assignment function operator =( ), all overloaded operator functions for class X are inherited by classes derived from X, with the standard resolution rules for overloaded functions. If X is a base class for Y, an overloaded operator function for X could possibly be further overloaded for Y. 
Syntax  
You can overload a prefix or postfix unary operator by declaring a nonstatic member function taking no arguments, or by declaring a nonmember function taking one argument. If @ represents a unary operator, @x and x@ can both be interpreted as either x.operator@() or operator@(x), depending on the declarations made. If both forms have been declared, standard argument matching is applied to resolve any ambiguity.
  • Under C++ 2.0, an overloaded operator ++ or -- is used for both prefix and postfix uses of the operator.
  • With C++ 2.1, when an operator ++ or operator -- is declared as a member... more 
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!