Syntax error quick question

Private variables are mostly used to enforce encapsulation, the reason for using getters and setters is usually to add validation before actually modifying the variable or returning it to the caller, you may also have noticed that GetPawn is a constant member function which essentially makes it read-only, that assures that this function does not modify any member variables but only reads them, private variables are also used to ensure that the variable itself does not accidentally get modified by a derived or non-derived class and if it’s been modified and has caused issues, it can be traced back to the class where it was declared.

As for the last question, I am not aware of that.