#include <iostream>
using namespace std;
class SensorConfig {
private:
int id;
int offset;
int lastValue;
public:
// Parameterized constructor enforces valid initialization
SensorConfig(int sensorId, int calibrationOffset)
: id(sensorId), offset(calibrationOffset), lastValue(0) {}
void update(int raw) {
lastValue = raw + offset;
}
int read() {
return lastValue;
}
};
int main() {
int id, offset;
cin >> id >> offset;
SensorConfig cfg(id, offset);
int r1, r2;
cin >> r1 >> r2;
cfg.update(r1);
cfg.update(r2);
cout << cfg.read();
return 0;
}
Explanation & Logic Summary
lastValue is always initialized to a known safe stateFirmware Relevance & Real-World Context
Input
10 3 20 25
Expected Output
28