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 encapsulation c#?
which feature are not hold visual basic of oop?
What is the significance of classes in oop?
Why is polymorphism important in oop?
How Do you Code Composition and Aggregation in C++ ?
How to improve object oriented design skills?
Why do we need oop?
Can a destructor be called directly?
What is solid in oops?
what is different between oops and c++
What is the oops and benefits of oops programming?
Why is static class not inherited?
What is an interface in oop?
What are different types of JVM's? for example we use dalvik jvm for android then what about the remaining operating systems?
#include