[IMHO]
ciao,
per mio modesto parere, il C++ ha delle potenzialità immani, la cui flessibilità di utilizzo sarebbe solo paragonabile ad una estensione ad oggetti del C

.
Offre un approccio oo e lo fa con l'elasticità derivata dal C.
Tuttavia consiglio di studiare prima il C. Sono due linguaggi che vanno imparati se si punta ad avere un forte background di programmazione ma mentre scrivendo codice C avrai un controllo migliore di quello che stai facendo, di fronte a 5 righe C++ potresti arrivare a commettere una diecina di errori e incoerenze che solo a run time possono generarti comportamenti bizantini.
Una volta dunque che hai una buona conoscenza e praticità della programmazione C, puoi passare al C++ e studiarlo nei minimi particolari.
Ho scritto due giochi in C++, e (anche se non completi) un paio di motori grafici. Se questo potrebbe farti pensare che io conosca il C++ ci sbagliamo entrambi

Stavo leggendo Exceptional C++ e notavo quanto può essere sottile il linguaggio.
Si deve semplicemente sapere ciò che si deve fare e come. Per il resto leggi qualcosa qua e la (non le guide base su come si fa la multiple virtual hineritance, quelle cose sono quasi banali) e scoprirai che è un linguaggio magico.
Diciamo che il C(piccolissimi mattoncini lego) è un linguaggio meno pericoloso a run-time ma più rigido. E' un linguaggio che consente di esprimersi subito e di creare qualcosa di bello e ordinato con poco. Ti consente inoltre buona velocità per utilizzi a basso livello.
Il C++(argilla) è un linguaggio difficile da approcciare (e fa rifugiare molti tra le braccia stregate di Java che poi li mangerà tutti

) e va utilizzato con serietà. Se vuoi programmare un'applicazione di 2000 linee di codice non penso che convenga utilizzare tutto il rigore di C++, altrimenti andresti a scriverne il doppio, tanto vale scriverla in C e con criterio.
Se questa applicazione da 2000 righe in realtà è una architettura base per costruirci futuri software allora lascia stare il C e scrivila con coerenza in C++.
In ogni caso lascia stare Java che è l'Ubuntu dell'oop. Tanto bello a vedersi e poi mi sento mutilato ogni volta che devo scrivere un po di codice. A questo punto preferisco stare attento a quel che faccio e assicurarmi flessibilità e possibilità di scrivere codice estroso in C++(mi sembra di poter respirare meglio quando lo uso) .
Tutto questo IMHO e comunque se non ne hai immediato bisogno(del C++) studia prima il C che è mooooolto più "divertente" [assai

]
[/IMHO]