C ++ wurde erfunden, um die Komplexität zu verwalten, die C nicht bewältigen konnte. Ein häufig auftretendes Problem bei C war beispielsweise, dass Ihnen "die Namen für Variablen ausgehen" (was natürlich nicht wörtlich genommen werden darf), da es keine Kapselung, Namespaces usw. gab.
C hat auch keine Ausnahmen, daher ist die Fehlerbehandlung sehr fehleranfällig, da es vom Bibliotheksbenutzer abhängt, immer die Rückgabewerte von funcs zu überprüfen, während der Bibliotheksentwickler mit Ausnahmen einfach eine Ausnahme auslöst, die garantiert, dass der Programmfluss angehalten wird.
C ++ hilft, indem es den Konstruktor init-Objekte hat, die automatisch vom Compiler aufgerufen werden. Im Gegensatz zu C-Strukturen, die vom Programmierer initialisiert werden müssen (daher ein weiterer fehleranfälliger Bereich).
Schließlich bietet OOP eine Reihe weiterer Vorteile, z. B. die Wiederverwendung von Objekten sowie generische programmierbasierte Konzepte wie Vorlagen und Generika, mit denen Sie Quellcode usw. Wiederverwenden können.
Und viele andere Dinge, die zu viel Zeit in Anspruch nehmen würden, um sie hier aufzulisten.