170 похожих чатов

Написал класс, но внутри класса мне нужно вызывать разные функции

в зависимости от обстоятельств. Такой типо полиморфизм. внутри одного метода вызываются схожие по назначению функции, но выдающие разный результат. Как правильнее сделать? удобнее всего было бы через массив функций, но, но как это реализовать правильнее? Через массив дружественных функций? или все эти функции прописать как методы класса?

21 ответов

30 просмотров

Причем здесь полиморфизм и массив функций? Нужен код.

Daniil- Автор вопроса
Maus Grau
Причем здесь полиморфизм и массив функций? Нужен к...

не могу код кинуть(. но суть в том, что есть метод, который запускает в отдельном потоке функцию с бесконечным циклом. И этих функций с бесконечным циклом у меня будет штук 10.

Daniil
не могу код кинуть(. но суть в том, что есть метод...

Очень зависит от задачи, но пока нет аргументов за то чтобы тащить функции в класс, да и делать их друзьями)

Можно сделать класс запускатора, отвязанного от логики циклов и передать ему при инициализации масив указателей на функции. Так мы развяжем ответственности.

Про результат подробнее...

Daniil- Автор вопроса
Ilya Zviagin
Про результат подробнее...

пишу код для управления rgb матрицы. Так как матрицы штампуют китайцы, ни какого единого стандарта в алгоритме управления этими матрицами нет. драйвера будут реализованны в виде этих самых функций с бесконечным циклом.(желательно, чтоб их было еще и удобно туда добавлять) В либе я создаю буффер и заполняю его, для вывода изображения. изображение выводится на матрицу уже в отдельном потоке, той самой функцией - драйвером. вот, вроде все объяснил

Попробуй пока просто if...

Daniil
пишу код для управления rgb матрицы. Так как матри...

Нет проблемы, которую нельзя было бы не решить доп. абстракцией (кроме проблемы излишних абстракций)

Denis P
и проблемы как обозвать переменную

Абстракция генератора случайных названий поможет вам решить эту проблему.

netricks
Абстракция генератора случайных названий поможет в...

у меня где-т валялся генератор произносимых слов

🐈
что это?

https://ru.m.wikipedia.org/wiki/Ложбан

Daniil
пишу код для управления rgb матрицы. Так как матри...

Я не знаю, почему там будет бесконечный цикл, Но полагаю, что сюда ляжет на какойто готовый архитектурный паттерн. Например, адаптер (под каждую матрицу своя реализация с набором функций), но унифицированный абстрактный интерфейс для всех драйверов Я делал прошивку-читалку протоколов для мозгов хонды цивика. Там 4 разных протокола общения с мозгами: заводской тормознутый OEM, и тюнинговые QD2, QD3, ISR. И читалка должна переключаться между ними в рантайме. Я разделял все на общие методы чтения/записи в последовательный порт. Протоколы с их конкретными реализациями обработки данных запихал в паттерн Состояние. А самый конечный класс, в котором была связь юзер-мозги в паттерн Компоновщик (не думаю что решение удачное) Как пример

Hvost 🦊♠️
Так это ты Ложбан написал?

хм. а есть ли у нас constexpr rand?

🐈
хм. а есть ли у нас constexpr rand?

нет, но сделать наверное не большая проблема

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта