All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|||||||||||
1 | |||||||||||
Массив в качестве элемента данных класса22.11.2013, 22:59. Показов 536. Ответов 11
Метки нет (Все метки)
Допустим, я хочу создать объект, одним из атрибутов которого будет простой одномерный нединамический массив, состоящий, скажем, из 25 элементов.
Я хочу хранить число его элементов в constant variable. Делаю так:
char array[ arraySize ]; __________________^ Вопрос с целью прояснить тонкости.
0
|
22.11.2013, 22:59 | |
Ответы с готовыми решениями:
11
Передача названия класса в метод другого класса в качестве входных данных Объект в качестве элемента класса двумерный массив в качестве параметра метода класса Изменение статического закрытого элемента данных класса посредством статической элемент-функции класса |
шКодер самоучка
|
|||||||||||
22.11.2013, 23:14 | 2 | ||||||||||
Значение константе присваевывается на месте объявления константы
0
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
22.11.2013, 23:24 | 3 |
StackOverflow, если arraySize для всех экземпляров одинаковый, то можно сделать её static const. Если нет , то как параметр шаблона - иначе никак. В любом случае у всех экземпляров одного класса размер статичесского массива будет одинаковым.
1
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
||||||
22.11.2013, 23:47 [ТС] | 4 | |||||
gray_fox, привет!
Сделал так:
"Ошибка сегментирования (сделан дамп памяти)" А если вынести инициализацию за пределы интерфейса (в определение), то уже не работает)) Ругается, что. опять же, arraySize не является константной целой. Зато если никак не связывать static const int arraySize и размер массива, но оставить её, при этом инициализацию также провести в определении, то всё компилируется, компануется и запускается.) Добавлено через 6 минут Cra3y, со статиком срабатывает, а при объявлении и одновременной инициализации константной целой уже не работает. Компилятор сообщает, происходит неправильное использование элемента данных класса 'const int arraySize', а также указывает на проблемное место, а это как раз присваивание.
0
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
|||||||||||
22.11.2013, 23:52 | 5 | ||||||||||
1
|
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
|
|
22.11.2013, 23:54 | 6 |
StackOverflow, эмм... если честно, я не знаю; так использовать статические интегральные константы вполне нормально вроде.
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|
23.11.2013, 00:07 [ТС] | 7 |
MrCold, спасибо, с enum'ом вы здорово придумали!)
0
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
|
23.11.2013, 00:09 | 8 |
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|
23.11.2013, 00:15 [ТС] | 9 |
MrCold, к сожалению, ещё руки не дошли до его фундоментального труда.) Чем больше возникает у меня вопросов, с которыми я обращаюсь сюда за помощью, тем больше я понимаю, что его книга "must read".
0
|
gray_fox
|
23.11.2013, 00:54
#10
|
0
|
All rights reserved.
93 / 83 / 24
Регистрация: 03.08.2013
Сообщений: 258
|
|
23.11.2013, 01:13 [ТС] | 11 |
offtop:
Programming: Principles and Practice Using C++) Хотя, чего греха таить, ни до одного пока не дошли))
0
|
gray_fox
|
23.11.2013, 02:38
Массив в качестве элемента данных класса
#12
|
Не по теме: StackOverflow, таки советую, если интересен С++, как-нибудь хотя бы полистать Design & Evolution, это не учебник, но для меня оказалась самой интересной книгой этого автора. Хотя вообще из Строуструпа писатель некудышный, как по мне)
0
|
23.11.2013, 02:38 | |
Написать шаблонную функцию поиска элемента в матрице (в качестве аргументов функция должна принимать двумерный массив, е Объявление объекта класса fstream в качестве статической компоненты другого класса Использование в качестве поля класса указатель на объект другого класса Использование метода класса как функции в качестве типизированного аргумента в методе класса Указатель на метод класса в качестве аргумента метода класса Как передать функции в качестве параметра массив пользовательских типов данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |