crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Паттерн одиночка не компилится
haiflive
  опции профиля:
сообщение 2.10.2010, 15:00
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 37
Регистрация: 8.7.2010
Пользователь №: 1868

Спасибо сказали: 1 раз(а)




Репутация:   0  


Помогите пожалуйста с паттерном одиночка, не компилируется..
пример взят из книги "Гамма Э., Хелм Р., Джонсон Р. - Приемы объектно-ориентированного проектирования. Паттерны проектирования (2001)(ru)"

class Singleton
{
public:
   static Singleton* Inst();
protected:
   Singleton();
private:
   static Singleton* _inst;

};
Singleton* Singleton::_inst = 0;
Singleton* Singleton::Inst()
{
    if(_inst == 0)
    {
        _inst = new Singleton;
    }
    return _inst;
}


Ошибка при компиляции:

debug/main.o:C:\projects\tests\protopypes\ibs_parser-build-desktop/../../../../Qt/projects/tests/protopypes/ibs_parser/main.cpp:22: undefined reference to `Singleton::Singleton()'


Компилятор mingw-gcc, ОС WIN7-32
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
MoPDoBoPoT
  опции профиля:
сообщение 2.10.2010, 15:04
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 172
Регистрация: 7.5.2009
Из: Москва
Пользователь №: 738

Спасибо сказали: 44 раз(а)




Репутация:   9  


Описание и реализацию класса надо разносить по разным файлам (.h и .cpp). Инициализацию статических переменных производить в .cpp файле.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 3:14