Я разрабатываю проект Arduino, который использует несколько датчиков, поэтому мне нужно создать классы для абстрагирования каждой функции датчика, чтобы сделать его масштабируемым и простым в обслуживании.
Я должен сказать, что я ' m не очень опытен в C ++, но я отчасти владею Java, а также некоторыми шаблонами и методами, которые могут быть применены к широкому спектру языков.
Итак, каждый датчик расширяет функциональность абстрактного класса (как Вы, наверное, догадались, с именем Sensor
) и определяет, как методы void setup()
и T get()
должны работать для каждой реализации.
В результате каждая реализация будет содержать экземпляр для базовых c класс своей библиотеки датчиков, чтобы делать показания всякий раз, когда вызывается метод T get()
, но я не могу найти приемлемого решения для этой идеи, так как кажется, что я не могу понять конструкторы C ++ (даже после большого количества время, потраченное на исследования в Google и другие вопросы StackOverflow), потому что я не могу:
#include <HX711_ADC.h>
HX711_ADC loadCell;
uint8_t dout = 4;
uint8_t sck = 5;
void setup() {
loadCell = HX711_ADC( dout, sck ); // Exception
loadCell( dout, sck ); // Exception
}
dout
a nd sck
объявлены uint8_t как объявленные типы для его конструктора, как показано в HX711_AD C .h
Любая идея будет принята с благодарностью.