|
Снова о двойной передаче: промежуточные базовые классы Приняв на вооружение производящие функции, мы легко повысим инкапсуляцию двойной передачи. // В файле grandpa.h class Grandpa { public: // Производящие функции и гомоморфный интерфейс }; // В файле grandpa.cpp class RealGrandpa : public Grandpa { // Промежуточный гомоморфный базовый класс protected: // Функции двойной передачи }; class Dad : public RealGrandpa { ... }; class AuntieEm : public RealGrandpa { ... }; Наличие производящих функций означает, что производные классы можно скрыть. Добавляя промежуточный базовый класс RealGrandpa, мы полностью прячем все жуткие подробности двойной передачи в файле .cpp. Никаких защищенных функций в файле .h! |
Copyright 2005. Климов Александр. All Right Reserved.
Сайт создан в системе uCoz