Класс А (точнее его потомки) оперируют указателем на объекты типа Х, получая его как параметр конструктора.
В тоже время класс B, реализующий оба интерфейса должен в качестве этого параметра получить самого себя.
Данный код корректен?
class X
{
};
class A //хранит указатель на X
{
public:
A(X* x):x(x) {}
private:
X* x;
};
class B: public X, public A //хранит указатель на себя
{
public:
B():X(),A(this) {}
};
С уважением, Naf