![]() |
|
Модераторы: bsa |
![]()
|
|
| hoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
Мне нужно чтоб член-элемент структуры, да и классов тоже по сути, становился статичным и не терял своё значение после отработки метода. Если в теле класса, например, в секции private написать static требуемой перемонной, то код не компилируется.
Я так понимаю, это не возможно. Получается нужно как-то передавать значения всех переменных через параметры дабы выделить память? Как это правильно делается? Например, вот моя структура есть:
|
|||
|
||||
| NoviceF |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: 2 Всего: 2 |
Не уверен, что это так, приведи пример. Подход со статическими переменными влечёт за собой следующую особенность - эти переменные общие для всех экземпляров класса. Твоя структура описывает свойства конкретной позиции, если ты добавишь туда статические поля, то они станут общими для всех позиций.
А поля объекта и так не теряют значения после своего изменения, пока объект находится в области видимости. Может ты имел ввиду, чтобы поля становились константными? Если нужно инициализировать значения только один раз - можешь сделать поля константными и провести инициализацию в конструкторе. Из того, что ты написал, лично я пока не могу понять, в чём заключается проблема |
||||
|
|||||
| tzirechnoy |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: -1 Всего: 16 |
Например, научитесь выражать свои проблемы понятным русским языком. А то пока что -- Вы что-то написали, у Вас что-то не скомпилировалось, и Вы не знаете, как что-то сделать.
К сожалению, это что-то описано в таких терминах, по которым совершэнно нереально понять, что Вы хотите и что у Вас не получается. |
|||
|
||||
| hoz |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
tzirechnoy,
Статический член-элемент как-то иначе можно понять? По-моему это понимается однозначно. Мне нужно, чтоб выделялась память на те члены-элементы, которые я выше привёл и всё. Причём для всех объектов. Хочу понять как это правильно делается. Ибо я этот момент не втыкаю на данный момент. Например, тут такая же ошибка как у меня выскакивает. NoviceF, вот именно, так и есть. Если просто в секции private, например, инициализировать переменную с модификатором static, то компилятор ругается, так примерно как по ссылке выше.. У меня было вот так:
Мне это и нужно. В будущем, если позиций будет больше по-моему логично будет члены-элементы реализовать как массивы. С индексом канкретного инструменты. Я так думаю. Если не согласны прошу Вас обосновать.
Область видимость это пока не отработал код или пока программа не закрыта вообще? Я некоторые момент недопонимаю. Прошу понять меня правильно. Я программирую для себя. Но образования специального нет. Так что в некоторых момента плаваю.. Хотя и читал не мало. Но не всё понимаю. Потом и интересуюсь.
Это как? Это сообщение отредактировал(а) hoz - 18.8.2014, 20:23 |
||||||
|
|||||||
| NoviceF |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: 2 Всего: 2 |
Так дело не в модификаторе доступа секции, в а том, что нельзя инциализировать статический член в теле класса (если это не простой целочисленный тип). По-моему логично как раз наоборот, сделать статический (или глобальный или в рамках паттерна одиночка) массив, и его элементами сделать записи, так, чтобы каждая запись характеризовала конкретную позицию. Хотя всё это зависит от того, что именно делает ПО и для чего вообще используется эта структура.
|
||||||||
|
|||||||||
| sQu1rr |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 3 Всего: 13 |
Там кстати все объяснили
И компилятор объяснил |
||||||
|
|||||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |