Вложенные классы в C++ контринтуитивны (воняют)

Вот сидишь ты, никого не трогаешь, никому не мешаешь, пишешь функцию у класса:

1414
33
22
11
11

А у нас в Java есть как описанные классы (static), так и вложенные (без модификатора static). Вложенные имеют доступ к родительскому объекту. Ну и следовательно, для создания объекта вложенного нужен объект родительского)

1
Ответить

Java это хорошо, это уважаемо. Завидую вам, но переходить пока не буду.

1
Ответить

падажи

public class ObjA {
public class ObjB {...};
public ObjB a;
public ObjB b;
public ObjB c;

}

каким образом обьект a, b и c будут знать, что они дочерние объекты другого объекта.

В случае со статическим классом, они как объекты, не знают, что они вложенные объекты статического класса, м.б. их создали `new ObjA.ObjB()`. Но паттерн подразумивает, что экземпляры этих классов не могут быть созданы вне статического класса, по этому они обращаются напрямую к классу через ObjA::a, ObjA::b, ObjA::c

но это не решает проблему ТС и только путает его.

Ответить