Se conosci "abbastanza" bene il C++ perchè non approfondire la tua conoscenza in merito cercando di migliorare la QUALITA' della tua programmazione in tale linguaggio?
Cioè non solo riuscire a fare qualcosa ma farlo con un occhio al farlo al meglio, sfruttando sempre al massimo la potenza dell'ereditarietà, polimorfismo e "capacità" del C++ come il binding dinamico.
Utilizzi già con profitto tutti questi aspetti del linguaggio?
In aggiunta , se già non lo fai, io imparerei a progettare (UML) prima di programmare, dovresti farlo diventare un passo obbligato e refrenare la smania che ci prende un po' tutti

di scrivere immediatamente codice.
Buon divertimento !
P.S. l'idea di iniziare con Java è buona perchè se consoci C++ lo impari "gratis".