|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
||||||
Передача адреса класса в функцию12.01.2018, 19:17. Показов 1768. Ответов 25
Метки нет (Все метки)
Здравствуйте
![]() У меня такой вопрос, нигде не могу найти ответ: как сделать так, чтобы функция принимала адрес класса, или какой-то неопределенный тип, чтобы потом уже узнать адрес? Вот допустим код:
0
|
||||||
| 12.01.2018, 19:17 | |
|
Ответы с готовыми решениями:
25
Передача адреса функции в функцию (Класы) Передача адреса суммы двух чисел в функцию
|
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
||||||
| 13.01.2018, 04:06 [ТС] | ||||||
|
TRam_, Спасибо.
Скажите пожалуйста, я себе уже весь мозг сломал) Вот у меня есть класс, вот такой допустим:
Добавлено через 12 минут Точнее мне надо там создать указатель, а в последствии присвоить ему какой-то класс, о котором он не знает заранее.
0
|
||||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||||||||
| 13.01.2018, 04:25 | ||||||||
Добавлено через 9 минут
1
|
||||||||
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
|
| 13.01.2018, 12:02 [ТС] | |
|
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 13.01.2018, 17:16 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
|
| 13.01.2018, 17:23 [ТС] | |
|
Почему глупо? А если я хочу создать список объектов класса и записывать туда сами эти объекты, чтобы через элементы этого списка я мог обращаться к методам этих объектов?
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 13.01.2018, 17:55 | |
|
Novohudonosor, если список, то тебе нужно только два указателя - указатель на следующий элемент и указатель на объект, и некий идентификатор, который бы показывал, какой из типов выбрать для работы с указателем на объект. Указатель на объект можешь использовать типа
void *, а для работы использовать преобразование типа (reinterpret_cast<>). И после преобразования типа сможешь работать с абсолютно всеми методами этого объекта (используя -> ), отдельно их подключать не нужно.Но чтобы сделать преобразование "к тому объекту который там был", можешь использовать switch(<идентификатора>), а в case'ах - соответственно вызов преобразования типа указателя и вызов функции соответствующего типа. Естественно такие вызовы для каждого из типов придётся писать явно, т.к. только ты можешь определить соответствие между идентификатором и типом данных. Частично это теоретически можно автоматизировать, вызывая после преобразования шаблонную функцию (которая привяжется к типу, к которому ты преобразовал указатель), но всё равно case для типа должен быть свой собственный. Добавлено через 4 минуты Указатели на методы класса существуют, но их можно примять исключительно к объектам только этого класса. Поэтому если тебе для одного и того же объекта нужно переключаться между однотипными функциями foo1(), foo2(), foo3() и т.д., то тут указатели на методы тебе помогут (ну например собрать эти указатели на методы в массив, и вызывать функцию например как (obj.*foo_arr[i])(); ). А в том случае который описываешь - они вообще никак тебе не помогут.
1
|
|
| 13.01.2018, 17:55 | |
|
Передача в функцию метод класса Передача private класса в функцию Передача параметра в функцию класса
Передача параметров в дружественную функцию класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|