1 / 1 / 1
Регистрация: 04.11.2012
Сообщений: 11
|
||||||
1 | ||||||
Массив указателей на классы07.11.2012, 12:58. Показов 4905. Ответов 10
Метки нет (Все метки)
Помогите, пожалуйста, понять ситуацию:
Создаём указатель базового класса на массив из 10 объектов производного класса?
0
|
07.11.2012, 12:58 | |
Ответы с готовыми решениями:
10
Массив указателей на неродственные классы Массив указателей на производные классы Классы. Наследование, массив указателей, очистка памяти Массив указателей на массив строк и сортировка массива указателей |
|
||||||
07.11.2012, 15:15 | 2 | |||||
потому что цикл for шагает по массиву объектов Shape (т.к. указатель на Shape), в то время как в массиве содержатся объекты Rect(а размеры Shape и Rect разные). Можно привести указатель
2
|
1 / 1 / 1
Регистрация: 04.11.2012
Сообщений: 11
|
||||||
07.11.2012, 15:43 [ТС] | 3 | |||||
О, спасибо! Про преобразование типа указателя я не подумал...
Добавлено через 12 минут Что-то я запутался... Как в данном случае вообще работает массив? При i=1 при преобразовании типа указателя считается правильное смещение относительно pShape? Тогда почему не работает такое вот:
0
|
|
|
07.11.2012, 16:15 | 4 |
Думаю что нет. Это попытка подсунуть компилятору число байт на которые надо сместить указатель, но он принимает только тип указателя и число шагов i, и по этим параметрам сам вычисляет число байт для смещения. При i == 0 срабатывает правильно потому что указатель на виртуальную таблицу находится по адресу объекта(в самом начале объекта) .
1
|
1 / 1 / 1
Регистрация: 04.11.2012
Сообщений: 11
|
|||||||||||
07.11.2012, 17:14 [ТС] | 5 | ||||||||||
Ага, понятно, спасибо. Грубо говоря в теории, видимо, можно подобрать нужное количество байт, если очень приспичит... Это я так, для себя
И последнее: вот если такой вариант
Добавлено через 27 минут +совсем последнее корректно чистить память так?
0
|
Неэпический
|
|
07.11.2012, 20:16 | 6 |
Да, указатели занимают в памяти одинаковое количество памяти.
Да. Выделяете память под массив, освобождаете с помощью delete []
1
|
1 / 1 / 1
Регистрация: 04.11.2012
Сообщений: 11
|
|
07.11.2012, 20:30 [ТС] | 7 |
Благодарю
0
|
~ Эврика! ~
1257 / 1006 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
07.11.2012, 22:33 | 11 |
Все указатели имеют одинаковый размер.
Разный размер будет разве что если указателями считать и так называемые smart pointers. Добавлено через 12 минут Ну, хотя если говорить строго, то да. Там нет ничего, что говорило бы об одинаковом представлении указателей на разные типы. Возможность каста к void* и обратно косвенно намекает на это, но всё же не гарантирует.
1
|
07.11.2012, 22:33 | |
07.11.2012, 22:33 | |
Помогаю со студенческими работами здесь
11
Создать специфицированный шаблон функции, принимающей массив указателей на char и количество самих указателей Создать специализацию для шаблона, которая принимает массив указателей на строки и количество этих указателей Массив из указателей на масив из указателей на массив из int) Использование указателей, классы, наследование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике
В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
|
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование
В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
|
Объекты и их имена
hw_wired 28.01.2025
Введение: Основы объектного подхода и их роль в информатике
В современном мире информационных технологий объектный подход стал фундаментальным принципом организации и обработки информации. Этот. . .
|
Элементы алгоритмизации
hw_wired 28.01.2025
Основы алгоритмизации
В современном мире алгоритмы играют фундаментальную роль в развитии информационных технологий и программирования. Понимание основ алгоритмизации является ключевым элементом в. . .
|
Человек и информация
hw_wired 28.01.2025
Введение: роль информации в познании мира
В современном мире информация играет фундаментальную роль в процессе познания окружающей действительности. Она представляет собой совокупность сведений об. . .
|
Компьютер и информация
hw_wired 28.01.2025
Эволюция вычислительных машин
История развития вычислительной техники начинается задолго до появления первых электронных устройств. Человечество всегда стремилось упростить процесс вычислений и. . .
|
Информационные технологии
hw_wired 28.01.2025
Введение в современные технологии работы с информацией
В современном мире информационные технологии стали неотъемлемой частью практически всех сфер человеческой деятельности. Они существенно. . .
|
Информация вокруг нас
hw_wired 28.01.2025
Основные понятия информации
В современном мире понятие информации является фундаментальным и охватывает практически все сферы человеческой деятельности. Информация представляет собой совокупность. . .
|
Компьютер для начинающих
hw_wired 28.01.2025
Введение в мир компьютерных технологий
В современном мире информация стала одним из важнейших ресурсов человечества, определяющим развитие общества и технологий. Наша жизнь неразрывно связана с. . .
|
[golang] 189. Rotate Array
alhaos 28.01.2025
Повороты рукоятки, целочисленный слайс нужно сдвинуть на целое положительное число. Мне очень нравится решение на GO
/ / https:/ / leetcode. com/ studyplan/ top-interview-150/
package topInterview
. . .
|
КуМир: решение задач на матрицы
bytestream 28.01.2025
КуМир представляет собой среду для обучения программированию, которая включает в себя мощные инструменты для работы с матрицами. Матрица в программировании - это двумерный массив, состоящий из. . .
|
КуМир: решение задач на строки
bytestream 28.01.2025
В системе программирования КуМир работа со строковыми данными является одним из важнейших аспектов создания программ. Строки представляют собой последовательности символов, заключенные в кавычки,. . .
|