Архив Тегов:interdependent classes

Взаимозависимые классы

При проектировании классов может возникнуть ситуация, при которой два класса одновременно ссылаются друг на друга. Например, у нас есть два класса A и B. И мы хотим иметь возможность создавать экземпляр класса A из экземпляра класса B. При этом нам нужна и противоположная возможность, создавать экземпляр класса B из экземпляра класса A.

Эту задачу нельзя решить в лоб, так как имеет место циклическая зависимость. Для её решения нужно использовать обходные пути. Сегодня я расскажу о двух таких путях: с помощью опережающего объявления (forward declaration) и с помощью шаблонов.

Продолжить чтение →