Implement a HotelRoom class, with private data members: the room number, room capacity (representing the maximum number of people the room can accommodate), the occupancy status (0 or the number of occupants in the room), the daily room rate.
Member functions include:
- a 4-argument constructor that initializes the four data members of the object being created (room number, room capacity, room rate, occupancy status) to the constructor's arguments. The room rate defaults to 89.00 and the occupancy status defaults to 0.
- A destructor
- accessor functions
- a print function
- a function changeRate that sets the room rate to the value of its argument
- a function changeStatus that changes the occupancy status of the room to the value of its argument. The function should verify that the argument value does not exceed the room capacity; if it does, the function should return -1.
Write a main() that creates a hotel room with room number 123, a capacity of 4, and a rate of 150.00. Suppose a person checks in. The program should ask the user to enter the number of guests to occupy the room. Change the status of the room to reflect the number of guests that just checked in. Display the information about the room in a nice format. Now assume that the guests check out. Change the status of the room appropriately and display the information about the room. Next, change the room rate to 175.00. Finally assume that another person checks in. Ask the user to enter the number of guests to occupy the room. Change the room's status accordingly and display the new information about the room.