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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
kirieiev_1981
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 3
#1

static class - C++

14.04.2013, 00:57. Просмотров 1242. Ответов 6
Метки нет (Все метки)

Хочу создать static class, в котором будет находится static переменная, чтобы она была доступна из разных классов.

helper.h
C++
1
2
3
4
5
static class Helper
{
    public:
        static int globus;
};
В другом классе пишу так:
C++
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?


Что не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 00:57     static class
Посмотрите здесь:

Static class c++ - C++
Можно ли сделать класс чисто статическим? То есть не прописывать отдельно для каждой переменой, функции static, а одним разом всех ? ...

Singleton vs static class - C++
Зачем этот синглтон, если его можно представить как класс с статическими полями и методами. Какой случай я упускаю?

public class && static class - C++
Вообщем у меня небольшая связка, которую я хотел бы использовать в программе своей, но компилятор мне выдает ошибку и я не знаю что все...

What is the first argument implicitly passed to non-static class methods - C++
What is the first argument implicitly passed to non-static class methods. Это и есть вопрос. Я перевел так: какой первый аргумент неявно...

Static - C++
zagolovok.hpp static int a; основной модуль #include <iostream> #include "zagolovok.hpp" int main

static-член - C++
Привет. Как сделать чтобы при каждом создании объекта класса, увеличивался его счетчик. вот сами классы: class Base{ public: ...

Private: static - C++
В хедере есть клас point, клас точек, которые должны иметь нумерацию. В поле private у него есть static атрибут free_id, в который...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
14.04.2013, 01:05     static class #2
Хочу создать static class
вы знаете что этого нет в С++ и найти можно разве что в C++/CLI?
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
14.04.2013, 09:49     static class #3
Можно имитировать (правда обращаться к членам нужно будет через ::) статический класс сделав private конструктор и объявляя только статические поля. Ну, или синглтон замутить в крайнем случае.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.04.2013, 11:13     static class #4
Цитата Сообщение от Tulosba Посмотреть сообщение
Можно имитировать (правда обращаться к членам нужно будет через : статический класс сделав private конструктор и объявляя только статические поля. Ну, или синглтон замутить в крайнем случае.
Тогда уж лучше
C++
1
2
3
namespace Helper {
int globus;
}
cygwin
1 / 1 / 0
Регистрация: 10.04.2013
Сообщений: 17
14.04.2013, 11:45     static class #5
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Тогда уж лучше
C++
1
2
3
namespace Helper {
int globus;
}
С точки зрения архитектуры синглтон будет лучше.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.04.2013, 11:49     static class #6
Вообще да, но для одного инта...
cygwin
14.04.2013, 12:14     static class
  #7

Не по теме:

Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Вообще да, но для одного инта...
у опа скорее всего несколько полей

Yandex
Объявления
14.04.2013, 12:14     static class
Ответ Создать тему
Опции темы

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