>>981
全てのprivateメンバ変数に対するアクセスもsetter/getterを経由しろってのは、
Personの例でいえばこんな感じ。

class Person {
public:
void setName(const char* name) {
 if (ミドルネームが存在したら) {
  // isMiddleNameExist = true; こうはせずに
  setIsMiddleNameExist(true); // こうしろ
 }
}
protected:
virtual void setIsMiddleNameExist(bool b) {
 isMiddleNameExist = b;
}
private:
bool isMiddleNameExist;
}