Форум программистов, компьютерный форум CyberForum.ru

Насчёт шаблонного паттерна SingleTon - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переопределение типа class http://www.cyberforum.ru/cpp-beginners/thread825088.html
Подскажите в чем ошибка??? Не могу никак разобраться. "Ошибка 1 error C2011: zvetnik: переопределение типа "class" c:\users\samsung\desktop\проба 2\лабораторная работа 2 информатика\class.cpp 7" #include <iostream> #include <conio.h> #include <string> using namespace std; class zvetnik
C++ Составить программы для следующих задач используя рекурс алгоритмы Написать функцию которая вычисляет и печатает все сочетания из n первых натуральных числе по k чисел http://www.cyberforum.ru/cpp-beginners/thread825086.html
C++ Работа с символами. Подсчитать количество слов в строках
Доброго времени суток. Хочу узнать, как делаются задания такого плана: Записать в восемь строчных переменных столько же строк с песнями. Подсчитать, в каких из них встречается слово "улица" или однокоренные с ним слова. Добавлено через 4 часа 26 минут asd
C++ Нет повести пичальнее на свете, чем повесть о студенте и сессии
Добрый день всем. Вот вот у меня начнется курсовой проект по среде C++Builder 6 , и в этом проблема-я в основном на Delphi больше работал и билдере пока норм ни бум-бум), может кто скинет или даст ссылку на норм учебник с примерами или скинет какой нибудь дохленький но рабочий исходник с базой данных на форме ( с кнопками вроде добавить, удалить , сортировать и тп).
C++ Составить программы для следующих задач используя рекурс алгоритмы http://www.cyberforum.ru/cpp-beginners/thread825073.html
S=x^m+sin(x)
C++ отражение матриц Помогите пожалуйста! Не могу решить задачку: Дано квадратную матрицу порядка m. Зеркально отразить ее элементы относительно вертикальной оси симметрии матрицы. Добавлено через 2 часа 55 минут #include<iostream> #include<conio.h> #include<time.h> using namespace std; void main() { int n, m; подробнее

Показать сообщение отдельно
dovskr
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 18
01.04.2013, 19:59     Насчёт шаблонного паттерна SingleTon
Есть код паттерна

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
template<class T>
class Singleton
{
    private: 
        static T* ptr;
    protected:
        Singleton();
    public:
        static T&instance()
        {
            return ptr?*ptr:*(ptr=new T)
        }
 
    private:
        Singleton(Singleton<T> const&);
        Singleton<T>&operator = (Singleton<T>const &);
 
};
 
template<typename T>
T* Singleton<T>::ptr = 0;

1) Объясните что это за такое хитрое задание начального значения private переменной ptr. Нигде про такое не читал.
Причём работает оно непосредственно в h файле класса, а в main не работает.

2) Зачем тут определять запрет на использование конструкторов копирования и использования с объектом данного класса оператора =.
Ведь мы и так не можем создать объект данного класса, так как конструктор в разделе protected.(конечно если мы с помощью этого класса сами его копию не создадим, но ведь он не предназначен для себя, а для других только)

3) Я так полагаю что хранить в этом классе мы можем только указатель на один объект одного класса. А если вдруг у нас несколько таких классаов, в которых надо проконтролировать создание максимум одного объекта??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru