Was ist der Sinn einer privaten, rein virtuellen Funktion?

In einer Header-Datei bin ich auf folgenden Code gestoßen: class Engine { public: void SetState( int var, bool val ); { SetStateBool( int var, bool val ); } void SetState( int var, int val ); { SetStateInt( int var, int val ); } private: virtual void SetStateBool(int var, bool val ) = 0;...