Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Всем привет) Возможно вопрос глупый, но я только учусь :). У меня есть 2 класса: один класс - описание студента, другой класс описывает группу. Все прекрасно работает - посмотрите, пожалуйста, может что криво написано, и можно лучше :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Хочу добавить метод в класс, описывающий группу, что бы в любой момент времени можно было узнать, сколько человек в группе. То есть там должен быть метод описанный, принимающий указатель на массив объектов Student, но я не знаю, как узнать когда (указатель+счетчик) указывает уже не на объект Student, а просто на какой-то кусок памяти. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 21:20 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
MaximuS_Gя не знаю, как узнать когда (указатель+счетчик) указывает уже не на объект Student, а просто на какой-то кусок памяти. Заставь студента после рождения регистрировать себя в группе, а перед смертью - разрегистрировать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 21:26 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
То, что ты написал, ООП не требует. Зачем у тебя классы и чему ты научился кроме оборачивания переменных словом class? Так должно быть: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 21:30 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Всем спасибо, действительно такой вариант возможен и достаточно просто реализуется. :) Наверное мне стоило задать такой вопрос: Если я динамически создаю массив, есть ли возможность узнать количество элементов в нем путем перебора через указатель со смещением? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 21:52 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
MaximuS_GЕсли я динамически создаю массив, есть ли возможность узнать количество элементов в нем путем перебора через указатель со смещением? Во-первых, нельзя. Во-вторых, динамический массив в этой задаче напрочь не нужен: максимальное количество студентов в группе ограничено достаточно малым числом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 22:05 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Я понял, спс. Dimitry SibiryakovВо-вторых, динамический массив в этой задаче напрочь не нужен: максимальное количество студентов в группе ограничено достаточно малым числом. То есть Вы советуете не использовать динамические массивы там, где заранее возможно определить длинну массива и она с высокой вероятностью будет ограниченна достаточно малым числом? Получается вместо указателя на массив объектов Student лучше создать статический массив длинной, например, 100? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 22:36 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
MaximuS_GПолучается вместо указателя на массив объектов Student лучше создать статический массив длинной, например, 100? Насколько я помню свою бытность в приёмной комиссии, максимум 50. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 22:41 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
MaximuS_GЕсли я динамически создаю массив, есть ли возможность узнать количество элементов в нем путем перебора через указатель со смещением? Было бы сущей глупостью каждый раз перебирать массив из произвольного(!) количества элементов. А если их миллиард? )) Потому логично хранить размер. Тем более, что обычно, кроме размера еще и разумно хранить количество используемых ячеек, а не перераспределять память при каждом добавлении/удалении данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 22:45 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Edd.DragonMaximuS_GЕсли я динамически создаю массив, есть ли возможность узнать количество элементов в нем путем перебора через указатель со смещением? Было бы сущей глупостью каждый раз перебирать массив из произвольного(!) количества элементов. А если их миллиард? )) Потому логично хранить размер. Тем более, что обычно, кроме размера еще и разумно хранить количество используемых ячеек, а не перераспределять память при каждом добавлении/удалении данных. Спасибо! Но Вы именно указатель объявили - Student *students :) Код: plaintext 1. 2. 3. 4. Dimitry Sibiryakov Ясно, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 22:55 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Ну? Выделю память на 50 студентов и запишу число 50 в count. В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 22:56 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Ну тогда Вы выделите память динамически :). А мы тут вроде решили, что динамически память выделять не надо для такого малого количества объектов :). Или Вы статический кусок выделите уже из вызывающей функции? В любом случае, Вы делали другое замечание, так что все ОК. Спс) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 23:18 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
MaximuS_GВсем спасибо, действительно такой вариант возможен и достаточно просто реализуется. :) Наверное мне стоило задать такой вопрос: Если я динамически создаю массив, есть ли возможность узнать количество элементов в нем путем перебора через указатель со смещением? Нет , такой возможности нет. Надо хранить размер отдельно или использовать контейнеры, где этот размер уже хранится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 23:31 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovMaximuS_GЕсли я динамически создаю массив, есть ли возможность узнать количество элементов в нем путем перебора через указатель со смещением? Во-первых, нельзя. Во-вторых, динамический массив в этой задаче напрочь не нужен: максимальное количество студентов в группе ограничено достаточно малым числом. Это было очень спорное утверждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 23:31 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
MaximuS_GЯ понял, спс. Dimitry SibiryakovВо-вторых, динамический массив в этой задаче напрочь не нужен: максимальное количество студентов в группе ограничено достаточно малым числом. То есть Вы советуете не использовать динамические массивы там, где заранее возможно определить длинну массива и она с высокой вероятностью будет ограниченна достаточно малым числом? Получается вместо указателя на массив объектов Student лучше создать статический массив длинной, например, 100? Это был абсолютно дурацкий совет. Оставляй динамический массив, хотя бы для целей обучения. Только сделай его правильно. Кстати, если бы ты делал статический, размер заполненной части тебе все ровно надо было бы хранить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 23:37 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
MasterZivОставляй динамический массив, хотя бы для целей обучения. Ради обучения - ещё туда-сюда, но городить динамику ради 200 байт?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 23:51 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
MaximuS_GА мы тут вроде решили, что динамически память выделять не надо для такого малого количества объектов :) Ну да, я касательно динамического выделения говорил. Препод на статику посмотрит и скажет "Так и дурак может - переделывай!" )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2012, 23:58 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovMasterZivОставляй динамический массив, хотя бы для целей обучения. Ради обучения - ещё туда-сюда, но городить динамику ради 200 байт?.. Ради 200 байт (т.е. 50-ти int-возрастов) и классы городить не надо )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2012, 00:05 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Edd.DragonПрепод на статику посмотрит и скажет Но можно ведь и уточнить у него - есть ли по этому поводу какие пожелания или делай как хочешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2012, 00:07 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
MasterZivMaximuS_GЯ понял, спс. пропущено... То есть Вы советуете не использовать динамические массивы там, где заранее возможно определить длинну массива и она с высокой вероятностью будет ограниченна достаточно малым числом? Получается вместо указателя на массив объектов Student лучше создать статический массив длинной, например, 100? Это был абсолютно дурацкий совет. Оставляй динамический массив, хотя бы для целей обучения. Только сделай его правильно. Кстати, если бы ты делал статический, размер заполненной части тебе все ровно надо было бы хранить. Ок, понял, спасибо большое! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2012, 01:19 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovMasterZivОставляй динамический массив, хотя бы для целей обучения. Ради обучения - ещё туда-сюда, но городить динамику ради 200 байт?.. Видеш ли, постановки задачи нет ни у тебя, ни у меня. По умолчанию должно быть так: фиксированное количество объектов — обычный массив, переменное — динамический. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2012, 10:31 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
MasterZivТолько сделай его правильно. Есть вот такой вариант реализации - покритикуйте, пожалуйста :). Правильно ли реализован метод addStudent? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2012, 23:17 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Критикую. Неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 00:29 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Тут как-бы надо ломать голову чтоб понять а что ты хотел сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 00:30 |
|
||
|
посчитать количество объектов класса
|
|||
|---|---|---|---|
|
#18+
mayton Код: plaintext 1. Тут как-бы надо ломать голову чтоб понять а что ты хотел сделать. Спасибо за критику :). А как бы Вы посоветовали реализовать метод addstudent ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 00:56 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38082693&tid=2020574]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 275ms |
| total: | 529ms |

| 0 / 0 |
