opEquals footprint
Erik Rasmussen
i_am_erik at yahoo.com
Wed Mar 22 07:23:34 PST 2006
xs0 wrote:
> int opEquals(Object)
>
> so it overrides the default implementation found in, you guessed it,
> Object :) Same goes for opCmp, I think..
>
>
> xs0
So what's the best way to actually check the type in the opEquals/opCmp
method? Something like...
class A
{
int opEquals(Object o)
{
// check for null
if(o is null)
return false;
// check type
if(typeid(typeof(o)) != typeid(A))
return false;
// cast
A that = cast(A) o;
// actually check fields
return this.a == that.a && this.b == that.b && ...;
}
}
Or is there a better way? asserts?
How do you hard-core D programmers usually do it?
Cheers,
Erik
More information about the Digitalmars-d-learn
mailing list