Generische Funktion zum Vergleich von Objekten verschiedener Klassen in der „Tiefe“?
Posted: 15 Jan 2025, 16:22
Ist es möglich, eine generische Funktion zu schreiben, die Objekte verschiedener Klassen vergleichen kann, die nicht „operator==“ definieren, etwa:
Wo die Werte, auf die verwiesen wird, auch verglichen werden, d. h.:
Wenn ich die Speicherblöcke der beiden Objekte vergleichen würde, würde ich etwa Folgendes erhalten:
Code: Select all
template
bool Compare(T obj1, T obj2) {
...?...
}
class Class1 {
int i;
int *pi;
};
class Class2 {
char c;
char *pc;
std::string *ps;
};
Class1 a1, b1;
Initialise...
bool c1 = Compare(a1, b1);
Class2 a2, b2;
Initialise...
bool c2 = Compare(a2, b2);
Code: Select all
*a1.pi == *b1.pi
Code: Select all
a1.pi == b1.pi