зации, что уменьшает количеств
Автор admin
Четверг, 18 июня 2009 11:32
зации, что уменьшает количество проблем. В другой разновидности данного паттерна «синглетность» объекта отделяется от его реализации. Для решения этой задачи используется механизм псевдорекурсии, упоминавшийся в главе 5: //: C10:CuriousSingleton.cpp // Отделение класса от его “синглетности” (почти) #include using namespace std; tempiate class Singleton { Singleton(const Singleton&): Команда 481 SingletonS operatorsconst SingletonS): protected: SingletonО {} virtual -SingletonO {} public: static T& instanceO { static T thelnstance; return thelnstance: } }: // Пример класса, преобразуемого в Синглет class MyClass : public Singleton { int x: protected: friend class Singleton: MyClass(){ x = 0: } public: void setValueCint n) { x » n: } int getValueO const { return x: } }: int mainO { MyClassS m = MyClass::instanceO: cout « m.getValueО « endl: m.setValue(l): cout « m.getValueO « endl: } ///:- Чтобы сделать класс MyClass синглетным, мы решили следующие задачи. 1. Объявили его конструктор закрытым или защищенным. 2. Объявили класс Singleton дружественным. 3. Объя
Комментарии закрыты.
Последние комментарии