Можно ли написать общую функцию, которая может сравнивать объекты разных классов, которые не определяют оператор==, что-то вроде:
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);
Где также сравниваются указанные значения, т.е.:
*a1.pi == *b1.pi
Если бы я сравнил блоки памяти двух объектов, я бы получил что-то вроде:
a1.pi == b1.pi
Подробнее здесь: https://stackoverflow.com/questions/793 ... s-in-depth