У меня здесь два класса.Базовый класс:
class A
{
int x;
public:
A(int n):x(n){}
friend bool operator==(const A& left, const A& right)
{return left.x==right.x;}
};
и производный класс, который наследуется от A в частном порядке:
class B : private A
{
int y;
public:
B(int n,int x):A(x),y(n){}
friend bool operator==(const B& left, const B& right)
{
if(left.y==right.y)
{/*do something here...*/}
else{return false;}
}
};
Я знаю, как сравнивать два экземпляра A: я просто представляю переменные-члены друг с другом,Но как я могу сравнить экземпляры B?два экземпляра могут легко иметь разные элементы «x» внутри связанных экземпляров «A», но я не знаю, как сравнить эти экземпляры друг с другом.