C++ is the standard language for implementing object-oriented designs, but although based on C, C++ introduces many subtle syntactic and design issues. For developers whose C++ experience goes back further, many of the changes as a result of standardization make standard C++ a very different programming environment.
This course will keep the audience abreast of these changes. It covers four main areas: new and advanced language features; using the standard library; implementing object-oriented concepts and patterns in C++; effective C++ programming techniques and idioms. It also suggests ways to maximize efficiency, code quality, and reusability.
Delegates will gain a greater understanding of the capabilities and potential pitfalls of the C++ language and will be more able to use C++ language features to write robust, quality software and you will also have a good grounding to make the best use of specific component technologies, such as COM and CORBA.
This a comprehensive five-day course with a combination of lectures and practical sessions for each chapter to reinforce the topics covered throughout the course. The practical use code skeletons, so that you can concentrate on specific C++ features.
The course contains an appendix on the latest language enhancements of C++ 11.
Describe advanced inheritance issues, such as private inheritance, multiple inheritance, and virtual base classes
Use advanced C++ language features and programming techniques, such as Run-Time Type Identification (RTTI), smart pointers and delegation
Use different memory management techniques and strategies to customize and optimize memory usage in a C++ program
Design, implement and use template functions and template classes
Take advantage of the standard C++ library
Design and use container classes and iterators
Use C++ exceptions to simplify error handling in large programs
Experienced C++ programmers wishing to substantially enhance their development skills
Evolution of Standard C++