I have been programming exclusively in C for 25 years but have never used C++. I now need to learn the basics of C++ programming. Can anyone recommend an online tutorial (or failing that a book) that would be most suitable for me.
Edit: I actually needed the C++ purely for the purposes of adding a couple of dirty hacks to a huge and old C program. Converting the entire program in to properly written OO code is entirely economically unfeasible. Some people have criticized the suggested solutions based on the fact that they will lead me down the path of becoming a “C programmer who knows some C++ without getting in to the proper spirit of C++” – but actually that fits my requirements perfectly.
This might be of some use: C++ tutorial for C users.
If you’re looking for a book, check out “C++ for C Programmers” by Ira Pohl (Amazon).
I found Thinking in C++ very good when I was going from C to C++.
If you can get hold of a 2nd edition of Scott Meyer’s “Effective C++”, that should help, as it was written for former C developers. It lists 50 rules that you should follow which are easily to remember, thoroughly explained, and fun to read. (Scott’s goal was to write the “best 2nd C++ book” one should read an I think he succeeded in that.)
The 3rd edition of the book was completely overhauled and targets developers coming from C#, Java etc. more than earlier editions. It might be good read nevertheless.
Accelerated C++ is good too.
This very recent SO question asked by an inexperienced C programmer nevertheless has answers that are also relevant to experienced C programmers.
If you’re already a good C programmer, you can probably jump right into the bible, Stroustrup’s The C++ Programming Language.