Существует класс Object с функцией clone (), который может генерировать исключение CloneNotSupportedException * и объявляется таковым. CloneNotSupportedException происходит от Exception, которое происходит от Object.
Наследование требует полных типов, и у нас их два, поэтому очевидно, что мы не можем разорвать круговую зависимость там. Указатели-члены и параметры-указатели являются содержимым с неполными типами, но этого, по-видимому, недостаточно для объявлений броска, даже если мы бросаем указатели.
Определения классов отделены от реализаций, используются предварительные объявления, везде указатели. Этого все еще недостаточно.
Есть ли способ разорвать эту зависимость или это невозможно в C ++?