|
16 / 0 / 2
Регистрация: 10.11.2012
Сообщений: 117
|
|||||||||||
Унаследовать функцию с переменным числом параметров24.08.2016, 11:19. Показов 2845. Ответов 11
Метки нет (Все метки)
Добрый день, форум!
Вот такая задачка: Есть базовый класс A с методом
Мне нужно как-то изменить метод func в базовом классе, чтобы он смог принимать разное кол-во разнотипных аргументов и мог бы вызвать соответствующую функцию func у потомков. Я наверное выражаюсь как Кличко, но надеюсь что вы меня поняли. Заранее благодарю вас за помощь!
0
|
|||||||||||
| 24.08.2016, 11:19 | |
|
Ответы с готовыми решениями:
11
Написать функцию с переменным числом параметров
Массивы в функцию с переменным числом параметров |
| 24.08.2016, 11:24 | |
|
0
|
|
|
2393 / 1921 / 763
Регистрация: 27.07.2012
Сообщений: 5,562
|
|
| 24.08.2016, 11:28 | |
|
С одинаковым именем функции такое не прокатит. В базовом создать функции
func для различного числа параметров и соответствующие им виртуальные функции virtual_func, которые и будут там вызываться. А в производных классах реализовать эти виртуальные функции.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 24.08.2016, 11:42 | ||
|
1. самый лучший вариант: пересмотреть свои взгляды на жизнь, и перестать страдать хренью. судя по формулировке вашего запроса, сейчас вы решаете XY проблему: http://rus.stackexchange.com/q... xy-problem но это сработает только если вы - моральный человек. если аморальный, читайте дальше: 2. продвинутые извращенцы пользуют механизмы навроде std::any http://en.cppreference.com/w/cpp/utility/any 3. этот изысканный способ только для можно воспользоваться функциями-элипсисами. http://www.cplusplus.com/reference/cstdarg/va_arg/
1
|
||
|
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
|
||
| 24.08.2016, 11:53 | ||
|
Потому что пишешь в гугле вопрос, он находит похожий на форуме... А вместо ответа там написано "вы не то решаете".
0
|
||
| 24.08.2016, 11:59 | ||
|
Не по теме: Взял себе в рамочку на рабочий стол
0
|
||
| 24.08.2016, 12:02 | |
|
Не по теме: PS:
0
|
|
|
16 / 0 / 2
Регистрация: 10.11.2012
Сообщений: 117
|
|
| 24.08.2016, 12:08 [ТС] | |
|
HelicopterK52, я в своей программе должен пользоваться только неким классом PRIME, в котором есть указателем на базовый класс A. В метод этот этого класса передается индекс, по которому определяется режим работы программы. В зависимости от этого режима работы программы, внутреннему указателю на базовый класс присваивается тот или иной потомок. Но подьзователь видит только одну функцию func класса PRIME и передает в нее все необходимые аргументы для соответствующего режима работы программы.
Как-то так.
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|||||||
| 24.08.2016, 13:02 | |||||||
Сообщение было отмечено hoggy как решение
РешениеКликните здесь для просмотра всего текста
Идея простая - пытаемся вычислить соответствие сигнатуре, которую задал пользователь при вызове функции базового класса, в наследнике. В реальности подобное, впрочем, достаточно редко пригождается, поэтому ты и получаешь такой ответ.
2
|
|||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 24.08.2016, 13:44 | |
|
0
|
|
|
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
|
|
| 24.08.2016, 13:51 | |
|
DrOffset, благодарю за ответ.
0
|
|
| 24.08.2016, 13:51 | |
|
Помогаю со студенческими работами здесь
12
Написать функцию с переменным числом параметров Написать функцию с переменным числом параметров Реализовать функцию с переменным числом параметров Написать функцию min с переменным числом параметров В функцию с переменным, числом параметров передать массивы целых чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|