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

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

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

Как приведенный код использовать как класс - C++

05.01.2014, 22:23. Просмотров 266. Ответов 6
Метки нет (Все метки)

Добрый день! проблема в следующем:
C++
1
2
3
4
5
6
char* charTypes[] =
    {
        "Add", "Min", "Mul", "Div", "Mod",//  базовые операции с числами
        "EQ", "NE", "LT", "GT", "LE", "GE",//  "равно","не"равно", "меньше", "больше", меньше или "равно", 
                ...
    };
эту штуку мне нужно "засунуть" в класс или,хотя бы в файл где определён класс. Пытаюсь определить через ключевое слово static (static char* charTypes[] =...) не получается. Создавать огромную переменную в конструкторе для каждого экземпляра класса,ну мягко говоря,не оправданно. Подскажите как следует поступить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2014, 22:23     Как приведенный код использовать как класс
Посмотрите здесь:

Как оформить приведенный код в виде функции - C++
Доброй ночи всем. Помогите пожалуйста. Еле смог написать структуру, лазая по форуму, а вот оформить в виде функции не могу вообще никак( ...

Как использовать класс описанный в другом файле - C++
Есть проект, несколько файлов, в одном из них описаны классы. Как использовать эти классы в других файлах?

Как использовать перегруженный оператор [ ], если дан не сам класс, а указатель на него? - C++
Это указатель на класс figure *f Это перегрузка оператора void figure::operator (int i) { cout << "(" << massiv.x << "," <<...

Как использовать собственный класс в структуре struct до определения самого класса в тексте программы - C++
Проблема такая: хочу в структуре одним из элементов сделать класс. Проблема в том, что эта структура задается в самом начале текста...

Что из себя представляет код в стеке, и как его использовать - C++
Гугл мне по этому поводу не помог, поэтому спрашиваю тут: что из себя представляет из себя код в стеке, как его использовать(вызвать там и...

Готовый код.Как перестроить структуру под класс.wxDex-C++ - C++
Всем доброго вечера и хорошего настроения! Знатоки C/C++ подскажите как "переделать" готовую программку для использования её с...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
508 / 430 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
05.01.2014, 23:26     Как приведенный код использовать как класс #2
C++
1
2
3
4
5
6
7
8
class foo{
private:
    const std::vector<std::string>charTypes = {
        "Add", "Min", "Mul", "Div", "Mod",// базовые операции с числами
        "EQ", "NE", "LT", "GT", "LE", "GE",// "равно","не"равно", "меньше", "больше", меньше или "равно", 
        ...
    }
};
Добавлено через 1 минуту
IloveOOP, std::vector выбрал от фонаря, не факт что это самая подходящая структура для ваших нужд.
IloveOOP
0 / 0 / 0
Регистрация: 23.10.2013
Сообщений: 19
05.01.2014, 23:43  [ТС]     Как приведенный код использовать как класс #3
в данном случае,эта структура данных будет на уровне объекта или экземпляра,т.е. не будет ли создаваться с каждым новым экземпляром класса?
Nikcharn
71 / 53 / 3
Регистрация: 31.07.2009
Сообщений: 149
05.01.2014, 23:48     Как приведенный код использовать как класс #4
Цитата Сообщение от IloveOOP Посмотреть сообщение
в данном случае,эта структура данных будет на уровне объекта или экземпляра,т.е. не будет ли создаваться с каждым новым экземпляром класса?
Тогда засунь в enum.
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,449
Завершенные тесты: 3
05.01.2014, 23:52     Как приведенный код использовать как класс #5
Цитата Сообщение от IloveOOP Посмотреть сообщение
в данном случае,эта структура данных будет на уровне объекта или экземпляра,т.е. не будет ли создаваться с каждым новым экземпляром класса?
Будет. Если нужно статическое поле класса, то: в заголовочном файле - объявление:
C++
1
2
3
4
class class_type {
 
   static char const* charTypes[charTypesSize];
};
В файле с исходным кодом - определение:
C++
1
char const* class_type::charTypes[charTypesSize] = { /* ... */ };
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
06.01.2014, 00:06     Как приведенный код использовать как класс #6
А почему просто не инициализировать значениями в конструкторе?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2014, 00:17     Как приведенный код использовать как класс
Еще ссылки по теме:

Откомпилируйте приведенный код - C++
Код работы со строками без использование библиотеки &lt;string&gt; но при компиляции ошибки, при том у меня показывает какой-то набор символов...

Прокомментируйте приведенный код - C++
# include&lt;iostream&gt; # include&lt;conio.h&gt; # include&lt;string&gt; # include&lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;cstring&gt; using...

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

Переписать приведенный код с использованием указателей - C++
Есть такой код с функциями. Надо его реализовать через указатели. 3 задания к лабе сделал, а вот ето незнаю как( #include &lt;stdio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
outoftime
║XLR8║
508 / 430 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
06.01.2014, 00:17     Как приведенный код использовать как класс #7
IloveOOP, да да, если сделать такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <initializer_list>
 
class foo
{
public:
    foo() : v(1024) {}
private:
    const std::vector<char> v;
};
 
int main()
{
    std::vector<foo> v(1024*1024);
    std::cin.ignore();
}
То прога будет жрать 1Гб памяти (:
Yandex
Объявления
06.01.2014, 00:17     Как приведенный код использовать как класс
Ответ Создать тему
Опции темы

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