digitalmars.D - Deriving opEquals()
- Garett Bass (20/20) Nov 21 2004 Say I have the following interfaces:
- Russ Lewis (3/25) Nov 22 2004 I haven't actually tried compiling the code above, but it certainly
Say I have the following interfaces:
interface Locus {
int opEquals(Locus that);
}
interface Extents {
int opEquals(Extents that);
}
interface Rectangle : Locus, Extents {
int opEquals(Rectangle that);
}
Given two objects that implement Rectangle, is there some syntax in D to allow
me to compare their Extents or Locus? Maybe
something along the lines of:
Rectangle r1, r2;
...
if (r1 == cast(Extents)r2) {
// r1 has the same Extents as r2
...
This seems right to me, but I haven't written any OO in D yet.
Thanks,
Garett
Nov 21 2004
Garett Bass wrote:
Say I have the following interfaces:
interface Locus {
int opEquals(Locus that);
}
interface Extents {
int opEquals(Extents that);
}
interface Rectangle : Locus, Extents {
int opEquals(Rectangle that);
}
Given two objects that implement Rectangle, is there some syntax in D to allow
me to compare their Extents or Locus? Maybe
something along the lines of:
Rectangle r1, r2;
...
if (r1 == cast(Extents)r2) {
// r1 has the same Extents as r2
...
This seems right to me, but I haven't written any OO in D yet.
I haven't actually tried compiling the code above, but it certainly
seems reasonable to me. Try compiling it, and tell us what you find!
Nov 22 2004








Russ Lewis <spamhole-2001-07-16 deming-os.org>