Lets say we have an object elevator Elevator have states for open and closed doors, elevators door is a different object ie,
Class Elevator{
private:
ElevatorDoor door;
int state
};
What I want to do is, when a person tries to open elevator door, she has to interact with door object not elevator itself, but the door object should be able to mutate a private data member (which is state). How is this possible?