What you'll learn:
- Harness the full power of C++ without being intimidated by the language's complexities
- Use inheritance, operator overloading, templates, STL and all major C++ language features
Like a gruff uncle, C++ seems intimidating, when its just being helpful. These 75 examples will help you understand that.
Let's parse that.
- C++ seems intimidating because all too often, what you see is not what you get.
- Usually, that's because C++ is trying to help you, but you don't realise that. C++ is incredibly deep, and it sometimes struggles to get you - the programmer - to understand what it's saying
- These 75 examples will help. Each is self-contained, has its source code attached, and gets across a specific C++ use-case. Each example is simple, but not simplistic.
What's Included:
- Moving to C++ from C: If you are a C programmer, this section will run through what you need to know in order to move seamlessly to C++.
- Objects, Classes and Object-Oriented Programming: Access modifiers, classes, objects, the this pointer, new/delete and dynamic memory allocation gotchas
- Operator overloading is a particularly complicated topic - C++ is virtually alone in the ubiquity of overloaded operators. Make sure this doesn't trip you up. Also go deep into the workings of const, static and friend
- Inheritance in C++ is considerably more complicated than in Java, mostly because of multiple inheritance, and because of the co-existence of both virtual and non-virtual methods.
- Templates are a classic generic programming technique that were revolutionary when first added to C++. Understand template functions and classes, as well as template specializations.
- STL - the Standard Template Library - is incredibly powerful. Get a good sense of collections, iterators and algorithms - the major components of the STL
- C++ casts are quite different than C-casts. Understand const_cast, static_cast and dynamic_cast, as well as Real Time Type Identification (RTTI), and the manner in which explicit conversions can be performed using static_cast
- Exceptions and exception handling in C++