Cpp over c

Object oriented programming support
Object oriented programming is mainly a software design philosophy. However, programming languages often support this paradigm. The first reason for C++ was that: adding objects and classes to C.

The language fully supports the concept of class: it has virtual, abstract and static (class) methods, instance and class variables. Also, a class may overload operators and methods. C++ supports function and class templates.

Resizable arrays and proper strings
Because of the OOP support, things like the vector and string class are available to make programming with C++ much easier than C.