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

Можно ли создать глобальный обект, вызвав для него закрытый конструктор? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конструктор с параметром-объектом http://www.cyberforum.ru/cpp/thread98531.html
class a { private: ... public: a (); ... }; class b {
C++ stack overflow, math.h вощм передается в sqrt(float _X) _X значением порядка 0.001234 программа ввылетает с сообщением о переполненном стеке и указывает в math.h вотсюда inline float sqrtf(_In_ float _X) {return ((float)sqrt((double)_X)); } //_X==0.0016005998 конкретно код http://www.cyberforum.ru/cpp/thread98463.html
Запись в файл. C++
Кто подскажет как в файл записать 10 символ так... чтобы при этом не писался 13???? Добавлено через 3 минуты cout putc printf write ну я уже даже низнаю как еще можно писать(((
Как передать данные другой програме? C++
Написал програму по переводе целых чисел с одной системы счисления в другую, но проблема в том что это консоль, а хотелось-бы полноценное приложение под винду, написал форму на сишарпе, вот только не знаю как передать строки в консольное приложение на си++
C++ Сетевая служба на C++ http://www.cyberforum.ru/cpp/thread97958.html
Необходимо написать какую-либо сетевую службу. Цель - курсовая работа. :) Есть что - закиньте.
C++ Нужно написать игруху! Легенда гласит, что где-то в Ханое находится храм, в котором размещена следующая конструкция: на основании укреплены 3 алмазных стержня, на которые при сотворении мира Брахма нанизал 64 золотых диска с отверстием посередине, причем внизу оказался самый большой диск, на нем – чуть меньший и так далее, пока на верхушке пирамиды не оказался самый маленький диск. Жрецы храма обязаны перекладывать... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
24.02.2010, 08:59     Можно ли создать глобальный обект, вызвав для него закрытый конструктор?
taras atavin, смотри в сторону паттерна Singleton (одиночка).
Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Singleton
{
private:
  Singleton()
  {
     // Инициализация
  }
 
public:
  static Singleton* Instance();
 
  void SomeMethod();
  {
     // ...
  }
  // Полезные методы
 
private:
  static Singleton* instance;
 
  // Необходимые члены данных
}
 
Singleton* Singleton::instance = NULL;
 
Singleton* Singleton::Instance()
{
  if(!instance)
    instance = new Singleton();
 
  return instance;
}
Пример обращения:
C++
1
2
3
Singleton* s = Singleton::Instance();
 
s->SomeMethod();
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru