logo
шпоры по ООП

62.Функциональное замыкание через наследование.

Программа создает экземпляр класса A и передает его в качестве параметра в конструктор класса C. Тот в свою очередь инициализирует этим значением указатели в B1 и B2. Т.о, эти два класса ссылаются на один экземпляр объекта A. Что собственно и требовалось получить. Безусловно, создание экземпляра класса A таким способом – не лучшее архитектурное решение. Оптимальный вариант, когда класс C сам будет создавать и разрушать эту копию для избежания путаницы. Это также позволит реализовать стратегию функционального замыкания. Т.е. объект типа A создается в конструкторе класса C, а разрушается в деструкторе. Это гарантированно избавляет нас от утечки памяти.

Конструктор + деструктор = функциональное замыкание.