Search⌘ K
AI Features

Solution: Encapsulating a Thermostat

Explore how to encapsulate data effectively in C++ by implementing a thermostat class. Learn to use private members for data hiding, constructors with initialization lists, and public methods that enforce value constraints to maintain object integrity.

We'll cover the following...
C++
#include <iostream>
class Thermostat {
private:
int temperature; //
public:
// Constructor using initialization list
Thermostat(int temp) : temperature(temp) {}
// Public setter with validation logic
void setTemperature(int temp) {
if (temp >= 10 && temp <= 30) {
temperature = temp;
} else {
std::cout << "Warning: Temperature out of range.\n";
}
}
// Public getter to allow read access
int getTemperature() {
return temperature;
}
};
int main() {
Thermostat t(20);
std::cout << "Initial: " << t.getTemperature() << "\n";
t.setTemperature(25);
std::cout << "After setting 25: " << t.getTemperature() << "\n";
t.setTemperature(100);
std::cout << "After setting 100: " << t.getTemperature() << "\n";
return 0;
}
...