EdgeAligned 75 1 мая, 2023 Опубликовано 1 мая, 2023 · Жалоба 8 часов назад, const сказал: метод одного объекта не передать по указателю ф-ии в другой объект Зато можно передать целиком ссылку на первый объект в метод другого класса, поскольку объект класса содержит адреса всех входящих в него методов: class FirstClass{ public: void Foo(int in) { a = in; } private: int a; }; class OtherClass{ public: void Foo(FirstClass &in, int a) { in.Foo(a); } }; int main(void) { FirstClass k; OtherClass l; l.Foo(k, 5); (имена методов в разных классах могут совпадать, это нормально). Метод в передаваемом объекте должен иметь public-доступ. В С++ параметр можно передавать не только по указателю *, но и по ссылке &. По сути, это одно и тоже, отличается только местом вычисления адреса и формой записи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 39 1 мая, 2023 Опубликовано 1 мая, 2023 · Жалоба 12 hours ago, const said: посоветуйте, пожалуйста, протокол для UART, какието распространенные Да тот же Модбас, например. Кстати, под Qt есть и мастер, и слэйв. Для МК есть Free Modbus и куча готовых портов под разные МК. ИМХО, если нет каких-то особых требований к параметрам обмена, то найти протокол проще и известней вряд ли получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 1 мая, 2023 Опубликовано 1 мая, 2023 · Жалоба On 4/30/2023 at 7:52 PM, const said: а куда от этого деться если объекты работы с comport в разных фраемворках отличаются? Либо выносить этот код в отдельный класс/функцию/файл и считать его реализацию (не интерфейс) платформо зависимым, либо вообще не пытаться делать 'чистую' С++ версию - она у вас не сейчас получилась. On 4/30/2023 at 7:52 PM, const said: Не вижу ничего страшного. Одна и та же строчка среди фраемворк-зависимого кода. Вот это и страшно - даже одной строчки достаточно. Это значит, что вы не сможете просто так взять этот код и откомпилировать на другой фреймворк. Вам понадобится модификация исходного кода. Тут одна строчка, там одна строчка и т.д. И самое неприятное в этом, что где именно эти строчки и сколько их знаете только вы. Если эти строчки вынести в отдельный файл проблема исчезнет - у вас есть ваша библиотека и отдельно платформо зависимый файл, который необходимо адаптировать при переносе на другую платформу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться