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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
UrbanLynx
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 29
#1

Определение статических переменных - членов класса - C++

19.05.2013, 10:57. Просмотров 546. Ответов 2
Метки нет (Все метки)

Доброе утро! Не могу понять, почему возникает ошибка.
Есть класс в Manager.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Manager
{
public:
    static Manager* Instance();
        ...
protected:
    Manager(){}
private:
    static Manager* _instance;
    static MyGraphics* _graphics;
};
 
Manager* Manager::_instance = NULL;
MyGraphics* Manager::_graphics = NULL;
ifndef'ы наличествуют. Если я его подключаю более одного раза, то возникают ошибки линковщика
C++
1
2
3
Ошибка  6   error LNK2005: "private: static class MyGraphics * Manager::_graphics" (?_graphics@Manager@@$$Q0PAVMyGraphics@@A) уже определен в Manager.obj   I:\OOP\oop4\Новая папка\oop4\oop4\oop4.obj
Ошибка  7   error LNK2005: "private: static class Manager * Manager::_instance" (?_instance@Manager@@$$Q0PAV1@A) уже определен в Manager.obj    I:\OOP\oop4\Новая папка\oop4\oop4\oop4.obj
Ошибка  8   error LNK1169: обнаружен многократно определенный символ - один или более   I:\OOP\oop4\Новая папка\oop4\Debug\oop4.exe 1
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2013, 10:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определение статических переменных - членов класса (C++):

Инициализация статических членов класса - C++
Непонятно, почему статические члены класса нельзя инициализировать при помощи вот такого синтаксиса: static int const...

Принцип инициализации статических членов шаблона класса - C++
Доброго времени суток. Рассмотрим пример: #include <iostream> int foo(){ return 0; } template<class T> struct...

Инициализация в объявлении константных статических (const static) членов-данных класса. - C++
Привет. Подскажите пожалуйста почему нельзя создавать в классе const static float, а const static int можно? class A{ const...

Своеборазное переопределение статических членов в потомках - C++
Доброго времени суток! Хотел бы обсудить одну тему: class A{ static int mmm; //................... } class B : public...

Рекурсия с использованием статических переменных - C++
Пусть {a}_{0}={cos(1)}^{2}; {a}_{1}={-sin(1)}^{2}; {a}_{k}=2*{a}_{k-1}-{a}_{k-2}; k = 2,3... Найти сумму квадратов тех чисел {a}_{1}, ......

Как сократить запись при инициализации статических переменных? - C++
Добрый день. Есть в шаблонном классе набор non-const статических переменных, которые инициализируется, соответственно, вне класса: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 3
19.05.2013, 11:18 #2
UrbanLynx, надо вынести определение стат. переменных в файл с исходным кодом.
0
UrbanLynx
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 29
19.05.2013, 11:25  [ТС] #3
Да, помогло. Спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2013, 11:25
Привет! Вот еще темы с ответами:

Разработать на языке С/С++ программу с использованием: статических переменных, массивов - C++
Разработать на языке С/С++ программу для ниже расположенных задач с использованием следующих информационных структур: • Статических...

Использование статических методов класса в динамических библиотеках - C++
Здравствуйте. Прочитав пару тредов, статтей, да поклацав в компилятор у меня получилось слинковать обычную функцию. А как быть с...

Инициализация вещественных статических константных полей класса С++ - C++
static const double x=2.15; //c double и float не инициализирует. Почему??

Создать экземпляр класса без явного указания членов класса - C++
Если у меня есть два конструктора, один из которых по умолчанию, а второй явный. Я почему-то не могу создать экземпляр класса без явного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru