У меня есть структура класса, которую я хочу использовать, и я хочу использовать функцию производного класса для передачи в качестве аргумента конструктора в базовый класс. Я не могу найти правильный синтаксис для него (новичок в C:))
Это базовый класс, который я использую, и у него есть конструктор с функцией обратного вызова:
class SPortSensor {
public:
SPortSensor(sensorData (*pCallback)(SPortSensor*));
sensorData getValue();
private:
sensorData (*getData)(SPortSensor*);
};
Этопроизводный класс, который реализует функцию обратного вызова внутри класса (pCallback), поэтому он имеет другой конструктор и функцию-член, которую необходимо передать конструктору базового класса:
class SimpleSensor : public SPortSensor {
public:
SimpleSensor(int id);
long value;
private:
int _id;
sensorData pCallback(SPortSensor*);
};
Этот заголовок прекрасно компилируется. Единственная ошибка, которую я вижу, заключается в реализации конструктора SimpleSensor. Я не могу найти правильный синтаксис для этого:
sensorData SimpleSensor::pCallback(SPortSensor* sensor) {
...
}
SimpleSensor::SimpleSensor(int id) : SPortSensor(pCallback) {
_id = id;
}
Поиск в Google этой проблемы не сильно помог, так как я, вероятно, не использую правильные поисковые слова и не достаточно разбираюсь в c ++ (яC # парень).