Форум программистов, компьютерный форум, киберфорум
Наши страницы

Написать класс, от которого можно получить только один экземпляр класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Добавить в строковый класс функцию http://www.cyberforum.ru/cpp-beginners/thread143815.html
Добавить в строковый класс функцию, которая создает строку, содержащую пересечение двух строк, то есть общие символы для двух строк. Например, результатом пересечения строк "sdqcg" "rgfas34" будет...
C++ Рекурсия, квадратные корни. Здравствуйте, очень нужна помощь с задачей на рекурсию "Написать рекурсивную функцию и её нерекурсивный аналог, произвести измерение времени работы написанных функций при разных значениях" А... http://www.cyberforum.ru/cpp-beginners/thread143808.html
Циклические алгоритмы. Управление циклами. C++
Организовать процесс угадывания числа: компьютер генерирует случайное число (1…1000), пользователь пытается его угадать за фиксированное число попыток (10). Компьютер должен выводить ответ на каждое...
C++ Граф-карта
Добрый день. Не знаю, люда надо писать или нет. Показалось что сюда. Задача: Дано: список точек и описание с какими точками они соединены в каких направленияю. Требуется нарисовать граф...
C++ люди я на зачёте http://www.cyberforum.ru/cpp-beginners/thread143747.html
Ввести три цифры найти среди них минимальную, две оставшиеся через пробел вывести в текстовый файл . я сделал но не вывел в файл помогите пожалуйста #include<iostream.h> #include<stdlib.h>...
C++ где можно бесплатно и без регистрации скачать фильмы на английском с рус. субтитрами надо для учебы подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1643 / 1015 / 120
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
10.06.2010, 19:11
Вариант крутой, но после первого же обращения к объекту дальнейшее создание экземпляров станет невозможным. А первый-то объект уже тю-тю!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Foo() {
    JustOne One(1);
    std::cout << One;
}
 
void Bar() {
    JustOne Two(2);
    std::cout << Two;
}
 
int main(void) {
    Foo();  // Океюшки, выполнилось
    Bar();  // Облом, теперь JustOne для нас недоступен!
    Foo();  // Да-да, и тут тоже уже недоступен.
   return -1;   // :`(
}
Можно, конечно, добавить обнуление JustOne::created в деструктор, но обычно от синглтона требуется, чтобы он был один и тот же для всех.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.