Hello everyone, especially newbies to C++.
After many years using C professionally in real time embedded applications - communications, TCP/IP, instrumentation, control systems - I eventually began using C++ back in 2003. C++ was a blessing as at that time I - and many colleagues - were always striving to keep code/modules/projects in a practical way for others to understand and maintain them.. The closest we ever got to Object Orientated Programming, ( OOP ), was the separate tasks/modules we used in our multi-tasking operating systems, ( RTOS ), such as Vertex, Nucleus and the rest. Nowadays, C++ for me is second nature. But it wasn't always like that! The process of learning was a slow one as there wasn't much information around - even then. Over the years I have seen/read many articles, tutorials and books on the subject. It can be quite bewildering at times, with each article expressing his/her own opinions on various aspects of the language. An example is the age old argument as to whether we should use 'friend' functions and classes as they break the rules of Inheritance/Containment and data hiding. The list goes on.
So I'll get to the point of this topic, ( at last you say! ). My nephew is on his 1st year studying Computer Science at Southampton University, UK, and asked me for advice on learning C++. I gave him the following advice in September 2012. Today he is quite the programmer and we can easily converse. To start with I suggest he acquire a good free IDE. The type does not really matter as their are many around. Then simply follow this list.
Download the PDF version of the excellent C++ Language Tutorial from this site;
This is one of the best tutorials around and will give you the outline/basics of the knowledge you will need in the future.
Next is a site that you can use either as another tutorial or as a reference to the above one;
This goes a little deeper into each subject covered in the first one but uses real world code snippets that you can use to learn with. Explanations are excellent and easy to follow. There is also a chapter on the new C++11 version.
Together, these 2 tutorials will give you all the information you need to achieve a reasonable competence in C++.
There is also a FREE PDF
from the Sams libraries. When downloading only click on the bottom button.
This book contains excellent exercises along with answers only in the Appendix and workshops to help you practise.
Remember, you also have the full knowledge of the good people at this forum who are always ready to help you with any problems.
I really hope this helps and wish you the best of luck.
PS My handle, Zilog32, comes from my respect to the designers of the Zilog 8-bit Microprocessor - and then the mighty 32-bit version - that was not just used in the Sinclair Z80 machines but was widely used in the automotive industries.