ттерном в книге БЧ является Си
Автор admin
Четверг, 18 июня 2009 11:32
ттерном в книге БЧ является Синглет, гарантирующий существование единственного экземпляра класса. Следующая программа показывает, как реализовать Синглет на С++: //: СЮ:SingletonPattern.срр linclude using namespace std; class Singleton { static Singleton s; int i: Singleton(int x) : i(x) {} Singleton& operator=(Singleton&): // Запрещено Singleton(const SingletonS): // Запрещено public: static Singleton& instanceO { return s: } int getValueO { return i; } void setValueOnt x) { i = x: } }: Singleton Singleton::s(47); int mainO { Singleton& s = Singleton::instanceO: cout « s.getValueO « endl; Singleton& s2 = Singleton::instanceO: s2.setValue(9); cout « s.getValueO « endl: } III:- Ключевой принцип создания Синглета состоит в том, что прикладной программист никак не может повлиять на жизненный цикл объекта. Для этого следует объявить все конструкторы закрытыми и предотвратить любые попытки компилятора генерировать конструктор. Обратите внимание: копирующий конструктор и оператор присваивания (для которых реализация специально не определяется, пото- 478 Глава 10 • Паттерны проектирования 1 Станд
Комментарии закрыты.
Последние комментарии