Answer Posted / badmoon
Overloading binary operators (C++ only)
You overload a binary unary operator with either a nonstatic
member function that has one parameter, or a nonmember
function that has two parameters. Suppose a binary operator
@ is called with the statement t @ u, where t is an object
of type T, and u is an object of type U. A nonstatic member
function that overloads this operator would have the
following form:
return_type operator@(T)
A nonmember function that overloads the same operator would
have the following form:
return_type operator@(T, U)
An overloaded binary operator may return any type.
The following example overloads the * operator:
struct X {
// member binary operator
void operator*(int) { }
};
// non-member binary operator
void operator*(X, float) { }
int main() {
X x;
int y = 10;
float z = 10;
x * y;
x * z;
}
The call x * y is interpreted as x.operator*(y). The call x
* z is interpreted as operator*(x, z).
Is This Answer Correct ? | 4 Yes | 2 No |
Post New Answer View All Answers
What is the fundamental idea of oop?
Is react oop?
What is polymorphism and example?
What is inheritance in simple words?
How oops is better than procedural?
Can an interface inherit a class?
Advantage and disadvantage of routing in telecom sector
How do you define a class in oop?
How do you explain polymorphism?
Write a program to reverse a string using recursive function?
what are the realtime excercises in C++?
What is the purpose of polymorphism?
What is destructor give example?
What is encapsulation process?
Describe these concepts: Polymorphism, Inheritance and Abstraction.