Ho trovato il seguente codice in un file di intestazione:
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; virtual void SetStateInt(int var, int val ) = 0; };
Per me, questo implica che la class Engine
o una class derivata da esso, deve fornire l’implementazione per quelle pure funzioni virtuali. Ma non pensavo che le classi derivate avrebbero potuto accedere a quelle funzioni private per reimplementarle – quindi perché renderle virtuali?