Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 26.11.2010, 03:31   #1
zhenya.ya
Форумчанин
 
Регистрация: 29.11.2009
Сообщений: 142
Сообщение паттерн singleton

Проблема: Написал 4 паттерна, хотел раскинуть на 5 проектов (4 паттерна и main, где они срабатывают ). (если не задействовать паттерн singleton, то все 3 паттерна срабатывают)Но при задействовании паттерна Singleton cтало ругаться на методы паттерна singleton , типа они уже определены. Почему нельзя переносить работу singleton(а) в отдельный cpp проект?

вот мой singleton:

// singleton.cpp
Код:
class singleton
{
private:
	singleton(){}
	static singleton *single;
public:
	static singleton *add1();
	void print1();
};

singleton *singleton::single=0;

singleton * singleton::add1()
{
	single = new singleton();
	return single;
}
void singleton::print1()
{
	cout<<" singleton method"<<endl;
}
// pattern.cpp
Код:
main()
{
,,, // задействование других паттернов
,,,
,,,

singleton *obj;
obj=singleton::add1();
obj->print1();
}
zhenya.ya вне форума   Ответить с цитированием
Старый 26.11.2010, 04:11   #2
still_alive
Great Code Monkey
Форумчанин
 
Аватар для still_alive
 
Регистрация: 09.08.2007
Сообщений: 533
По умолчанию

Эмм... А вы вообще про Singleton хоть что-нибудь читали, кроме того что он может существовать только в единственном экземпляре? Смотрели ли учебные примеры или образцы промышленного кода? Смотря на ваш код, я в этом сильно сомневаюсь.
Я бы посоветовал прочитать о синглтонах у Александреску, но боюсь, что там вы мало что поймете. Поэтому попробуйте прочитать соответствующую главу в книге Банды Четырех (по паттернам проектирования), в Философии С++ (2 часть) Эккеля, еще в какой-нибудь книге, или просто найдите статью в интернете для вашего уровня знаний. Потому что не ездящий велосипед изобретать не дело.
После прочтения наверняка поймете все свои ошибки, ну а если не поймете - отпишитесь, я помогу.
still_alive вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паттерн MVP Vistar Общие вопросы .NET 0 11.09.2010 18:45


02:34.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.