Я пытаюсь создать систему управления гостиничными номерами и пытаюсь реализовать ООП для обработки номеров разных типов.
Это родительский класс с именем HotelRoom
:
class HotelRoom{
public:
HotelRoom(int room_number, double cost_per_night){
room_number = room_number;
cost_per_night = cost_per_night;
};
int get_room_number(){
return room_number;
};
void set_room_number(int new_room_number){
room_number = new_room_number;
};
double get_cost_per_night(){
return cost_per_night;
};
void set_cost_per_night(double cost_per_night){
cost_per_night = cost_per_night;
};
Date get_last_checkin(){
return last_checkin;
};
void set_last_checkin(Date date_checked){
last_checkin = date_checked;
};
bool get_booked(){
return booked;
};
void set_get_booked(bool booked){
booked = booked;
};
private:
int room_number;
double cost_per_night;
Date last_checkin;
bool booked = false;
};
А это дочерний класс с именем SingleRoom
:
class SingleRoom: public HotelRoom{
public:
SingleRoom(int room_number, double cost_per_night, string bed_size):HotelRoom(room_number, cost_per_night){
bed_size = bed_size;
};
void set_bed_size(string bed_size){
bed_size = bed_size;
}
string get_bed_size(){
return bed_size;
};
private:
string bed_size;
};
И это основная функция:
int main(){
SingleRoom new_room(123, 43.22, "Large");
cout<<new_room.get_room_number()<<endl;
}
Когда я запускаю этот код, я ожидаю номер комнаты123 распечатать, однако я получаю большое отрицательное число.Может быть, место в памяти?
Не уверен, где все идет не так, и признателен за любую помощь!