Здравствуйте, Аноним, Вы писали:
А> Интересует, существует ли возможность как-нибудь ЭЛЕГАНТНО и без сложных извратов получить в поле какого-нить класса ссылку на объект который содержит это поле. Другими словами:
Можно, если не забыли откуда ноги растут:
А>
class Base
{
public:
Base* parent;
};
class A : public Base
{
};
class B : public Base
{
public:
A member1;
A member2;
A member3;
//...
A memberN;
B()
{
std::fill_n((Base**)this, sizeof(*this)/sizeof(Base*), (Base*)this);
}
};
Ну а если серьёзно. Разьве просто передать указатель это не "ЭЛЕГАНТНО и без сложных извратов"? Я уверяю, что любое другое решение будет более сложным.