Quelques pistes :
C++ avantages : -meilleur conception globale (héritage, polymorphisme...)
-meilleure protection des données (encapsulation...)
-généricité (template)
-gestion des exceptions
C++ inconvénients : -grammaire souvent difficilement décidable
-maintenir des programmes en C++ avec des programmeurs ayant des habitudes très différentes peut etre largement plus dramatique qu'avec du C (cd utilisation de const, des fonctions virtuelles...)
-moins performant que le C
- son pire inconvénient ne serait il pas son manque de cohérence entre sa vision bas niveau héritée du C et ses introductions de concepts de plus haut niveau ? Est-ce que le C était foncièrement un bon candidat pour rajouter de l'objet ? Personnellement, et de jour en jour, j'en doute de plus en plus... (cf généricité avec caml ou autre langage fonctionnel vs template C++)
Il y aurait tellement à dire encore...