The difference (i.e. the '++') is that in C++ it's possible to make classes (among other).
Classes allow you to make functions, the initializing code and exit code, the functions and such, all in one package. In a class you can define weather or not a function is 'Public' (known to the whole damn project), 'Private' (known ONLY inside the class). This means that you can make finished functions with finished interface (input- and outputdata types) that can hold a lot of internal functions and the function 'automatically' initializes itself whenever needed (could be reserving memory, setting initial values and such) and terminating itself whenever needed (could be freeing memory, setting flags and such).
The general idea is that by using classes certain functions/values/buffers and such in that class is non-existing and can therefor NOT be callen/used/messed-up by the 'Big Program' OUTSIDE that class.
It is impossible/very hard in C to protect the different parts in the same way.
Also there are more functions to access but they are really only functions that you could do yourself.
Totte