prova a dargli un po' di vita e forse lo capisci
codice:
#include <iostream>

class TextToken {
	public:

		// TextToken::Type: elenco dei tipi token di interesse
		enum Type {
			Word, // parola
			SpaceSequence, // sequenza di spazi
			PunctuationMark // simbolo di punteggiatura
		} ;
		// TextToken::TextToken: costruttore parametrico
		// permette di costruire un oggetto TextToken a partire dal tipo e dal
		// valore del token
		// Il valore di un token è la sequenza di caratteri che lo compongono
		TextToken(Type type, const std::string &value) : 
			mTtype(type), mValue(value) {}
		
		Type mTtype;
		std::string mValue;

};

int main ()
{
	TextToken (TextToken::Word, "testo");
	exit (0) ;
}
la calusola private non è obbigatoria, tutto quello che sta all'inizio della classe, se non indentificata altrimenti, è privato, in questo caso non ci sono membri o funzioni private (anche se sarebbe meglio che mValue e mTType fossero privati.
ciao
sergio