Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / static class, беда / 4 сообщений из 4, страница 1 из 1
14.04.2013, 01:00
    #38224715
kirieiev_1981
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
static class, беда
Хочу создать static class, в котором будет находится static переменная, чтобы она была доступна из разных классов.

helper.h
Код: plaintext
1.
2.
3.
4.
5.
static class Helper
{
    public:
        static int globus;
};




В другом классе пишу так:
Код: plaintext
1.
2.
3.
4.
5.
Helper.globus=10;
 
    CString str1; 
    str1.Format("%i", Helper.globus);
    AfxMessageBox (str1);




И в итоге:

1 warning C4091: "static ': ignored on left of "Helper" when no variable is declared
2 error C2143: syntax error: missing ";" before '.'
3 error C2143: syntax error: missing ";" before '.'
4 warning C4832: token '.' is illegal after UDT 'Helper'
5 error C2275: 'Helper': illegal use of this type as an expression
6 error C2228: left of '.globus' must have class/struct/union
7 warning C4627: '#include "Helper.h"': skipped when looking for precompiled header use
8 error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?

Что не так?
...
Рейтинг: 0 / 0
14.04.2013, 01:05
    #38224718
Helper::globus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
static class, беда
kirieiev_1981Хочу создать static class, в котором будет находится static переменная, чтобы она была доступна из разных классов.

helper.h
Код: plaintext
1.
2.
3.
4.
5.
class Helper
{
    public:
        static int globus;
};




В другом классе пишу так:
Код: plaintext
1.
2.
3.
4.
5.
Helper::globus=10;
 
    CString str1; 
    str1.Format("%i", Helper::globus);
    AfxMessageBox (str1);




И в итоге:

1 warning C4091: "static ': ignored on left of "Helper" when no variable is declared
2 error C2143: syntax error: missing ";" before '.'
3 error C2143: syntax error: missing ";" before '.'
4 warning C4832: token '.' is illegal after UDT 'Helper'
5 error C2275: 'Helper': illegal use of this type as an expression
6 error C2228: left of '.globus' must have class/struct/union
7 warning C4627: '#include "Helper.h"': skipped when looking for precompiled header use
8 error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?

Что не так?
...
Рейтинг: 0 / 0
14.04.2013, 01:47
    #38224738
tehKosh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
static class, беда
плохо делаете
лучше не напрямую использовать такие классы-хелперы в других классах, а конфигурировать ими при создании прикладных классов через параметры конструкторов
...
Рейтинг: 0 / 0
14.04.2013, 13:56
    #38224894
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
static class, беда
kirieiev_1981,

Это тебе не Java, в С++ НЕТ статических классов.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / static class, беда / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]