Все это, кажется, упражнение в излишнем наборе текста.Насколько я вижу, Close
можно сжать до:
void Door::Close() {
shut = true;
}
Выполнение назначения, даже если оно не нужно, намного проще, чем тестирование и настройка, только если в настоящий момент оно ложно.
Стоит также упомянуть (IMO), что этот комментарий:
Door(); // Constructs a shut door.
Не похоже на реализацию:
Door::Door()
{}
Если вы хотите, чтобы ctor по умолчанию инициализировал shut
к true
, вам нужно / хотите добавить какой-то код для этого.
Хуже того, ваш IsOpen
, кажется, получает вещи совсем наоборот:
bool Door::isOpen()
{
return this->shut;
}
Если он закрыт, он не открыто, и наоборот.