При создании экземпляра вложенного класса не существует неявно созданного экземпляра включающего класса. Это должно быть сделано вручную.
+ объект ссылается на себя черезthis
.
Но как экземпляр внутреннего класса ссылается на экземпляр включающего его класса?
class Zoo
{
class Bear
{
void runAway()
{
EscapeService::helpEscapeFrom (
this, /* the Bear */
??? /* I need a pointer to the Bear's Zoo here */);
}
};
};
РЕДАКТИРОВАТЬ
Я понимаю, как работают нестатические внутренние классы,Bear
может получить доступ к членам егоZoo
следовательно, он имеет неявный указатель наZoo
, Я не хочу получать доступ к членам в этом случае; Я пытаюсь получить этот неявный указатель.