44 / 44 / 12
Регистрация: 05.04.2015
Сообщений: 345
|
||||||
1 | ||||||
Приведение указателей24.07.2015, 20:02. Просмотров 635. Ответов 7
Метки нет Все метки)
(
В функции в качестве параметра передаю указатель на один из самых базовых классов . Затем в функции вызываю функцию, которой нет в базовом классе, но которая есть в классе указатель на который я передаю в качестве параметра функции при вызове. А нужно это для того, чтобы вызвать функцию , но чтоб в качестве параметра передавать указатели на объекты разных классов.
На ум пришли несколько других вариантов, если что сделаю с помощью них.
0
|
|
24.07.2015, 20:02 | |
Приведение указателей приведение типов указателей Приведение указателей в стиле си Отличие приведение типов указателей |
|
![]() 1661 / 1033 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
24.07.2015, 20:05 | 2 |
Виртуальные функции придумали как раз для этого.
0
|
44 / 44 / 12
Регистрация: 05.04.2015
Сообщений: 345
|
|
24.07.2015, 20:09 [ТС] | 3 |
Базовый класс не могу трогать. Он библиотечный. Получается нужно определить еще один класс в нем создать виртуальную функцию и эти два наследовать от него? Потом в них уже определить эту функцию
0
|
13712 / 7335 / 1751
Регистрация: 30.01.2014
Сообщений: 12,306
|
||||||
24.07.2015, 20:31 | 4 | |||||
Можно сделать свой полиморфизм, с блекджеком
![]()
Оверхед по памяти - один лишний указатель. Если буст нельзя, то можно на основе идеи написать свою миниреализацию под этот конкретный случай. Или можно начать приседания с dynamic_cast - это самый быстрый вариант, если архитектура не была рассчитана на такое.
0
|
![]() 1661 / 1033 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|
24.07.2015, 20:34 | 5 |
Да, это сработает. Можно также рассмотреть включение библиотечного класса в производный не в качестве предка, а в качестве члена.
1
|
DrOffset
|
24.07.2015, 20:44
#6
|
0
|
4197 / 1790 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
|
|
24.07.2015, 20:47 | 7 |
0
|
44 / 44 / 12
Регистрация: 05.04.2015
Сообщений: 345
|
|
24.07.2015, 21:18 [ТС] | 8 |
Можно было в качестве параметра передавать указатель на функцию, но у меня три функции, поэтому придется передавать все три. Сейчас посмотрю как быстрее.
Я просто сам 1с-ник, а там вообще нет типов в классическом понимании поэтому немного тяжело переключиться.
0
|
24.07.2015, 21:18 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Приведение типов умных указателей Объяснить, что происходит в коде (приведение одного типа указателей к другому?) Почему в сортировке указателей на объекты в вызове функции используются адреса объектов, а не указателей? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |