Сделай вложенный класс private, а не public, и тогда Это скомпилируется.компилироваться это не будет.
Экземпляр E класса B знать не знает ни про какой объемлющий класс A и что у него есть какое-то там целочисленное поле xА должен? Если он знает о его существовании, то ты где-то накосячил с проектированием и нарушаешь принципы ООП
Классы - абстракция, модель, описывающая какую-то сущность. Если в твоей абстракции модель знает о том, что она часть чего-то большего и она обязана ей быть - передавай в конструкторе ссылку на это общее. И пусть она обращается строго по указателю к своему "владельцу".
Сделай вложенный класс private, а не public, и тогда
Это скомпилируется.компилироваться это не будет.
Экземпляр E класса B знать не знает ни про какой объемлющий класс A и что у него есть какое-то там целочисленное поле xА должен? Если он знает о его существовании, то ты где-то накосячил с проектированием и нарушаешь принципы ООП
Классы - абстракция, модель, описывающая какую-то сущность. Если в твоей абстракции модель знает о том, что она часть чего-то большего и она обязана ей быть - передавай в конструкторе ссылку на это общее. И пусть она обращается строго по указателю к своему "владельцу".
я бы хотел, чтоб знал. Вон там ява программист ответил выше, что в Яве знает.
C++ по умолчанию поля класса считается все private. А вот поля структуры - public. Там не нужно ему писать private в данном случае.