Beginner problem: casting in opCmp override
Ugbar Ikenaki
iken8273 at uwi.com
Mon Jul 8 15:35:32 PDT 2013
Here's one more question:
Before I knew that opEquals existed, I tried overloading the
equality expressions (== and !=) in opBinary using the code
below. It worked. Why would the overloaded opBinary version get
called if the equality expressions are held in opEquals? I'm just
interested in knowing how dmd chooses where to take an expression
from if it lies in multiple places (e.g. == in opEquals and
opBinary), even if what I did was just add the == operator to
opBinary. (Is that what I did there?)
override bool opBinary( string op ) ( Rect r ) if( op ==
"==" ) {
//Check if rectangle coordinates are equal
if( left == r.left && right == r.right && top == r.top &&
bottom == r.bottom ) {
return true;
} else {
return false;
}
}
Thanks!
More information about the Digitalmars-d-learn
mailing list