About this course
The Advanced C++ Programming course will take you to the next level as a C++ programmer. You will learn advanced C++ programming concepts, and techniques to make your code more efficient and more portable.What others say
Renier has an extensive knowledge of the course, and excellent teaching skills. There is a lot I have learned.
T. Mashilwane
Parsec Lecturer: Renier Classroom training
Great presentation and explanation of the core fundamentals of the C++ programming language
N. Moloisane
CSIR Lecturer: Renier Classroom training
Thanks – wish we had such a knowledgable person on our team
J. van der Merwe
Telkom Lecturer: Renier Classroom training
Material of the course was very challenging. But lecturer has a good ability to detect the level of understanding of the audience. It was a very intense and instructive week. I am very very very satisfied!!!
J. Dass
Concurrent Systems Lecturer: Renier Classroom training
The course was very good & the lecturer (Renier) is great. He knows the course inside out. I wish I could take his C++ mind.
B. Majola
Net 1 Lecturer: Renier Classroom training
I may strongly say that this course has been very helpful for me as it has shown me a lot of things I didn’t know about C++.
C. Nxumalo
Northpark Telecomms Lecturer: Renier Classroom training
Dankie!! C++ is baie powerful, dankie vir jou interpretasie en insig. Dit kom slegs met jare se ondervinding.
M. Beukes
Telkom Lecturer: Renier Classroom training
Definitely will recommend this course to friends and colleagues.
S. Maharaj
Denel Dynamics Lecturer: Renier Classroom training
The training was good. It helped that I could ask questions.
I appreciated that the code that was shown to us as part of the examples were always compiled, since that shows that it actually works then.
Also all the code in the notes and on the whiteboard are appreciated.
C. Wagner
Etion Create Lecturer: Renier Virtual Training
Why you want to attend
You should attend the Advanced C++ Programming course if:- You are a C++ programmer and you want to learn about the advanced aspects of the C++ language.
- You are a C++ programmer and you want to learn to write better C++ code.
- You are an engineer working with embedded systems written in C++.
What you need to know first
Before you attend the Advanced C++ Programming course:- You must have attended our Standard C++ Programming course or already be comfortable with the fundamentals of the C++ programming language.
- You should have at least 6 months practical experience programming in C++.
Price and duration
Price: R14,800.00 excluding VAT per delegate. This price includes everything that you need:- All course material, provided in an electronic format.
- An attendance certificate after the course, in PDF format.
How to book
It’s so easy to book for the Advanced C++ Programming course. Just email us at info@incusdata.com. You can send us a purchase order, or fill in our course enrolment form. After we have received your booking, we will confirm that you are booked, and we’ll send you an invoice.Detailed course contents
Fundamentals
- Overview of C++ and ISO C++11/14/17 Standards.
- C and C++ differences, portability issues and using C legacy code in C++.
- Structures and classes.
- Function overloading.
- Operators as functions.
- Default parameters.
- Variable number of parameters.
- Constants and macros.
- Inline functions.
- Namespaces syntax and usage.
- The standard library namespace.
- Practical issues and tips for using namespaces.
- Understanding and using references.
- Run time type information (RTTI).
- Name mangling.
Exception Handling
- Syntax, structure and usage.
- Exception handling options.
- Advanced error handling.
- Memory allocation error handling.
- Classes for exception handling.
Pointers and Memory Management
- Performance issues.
- Understanding new, delete and other memory allocation options in various environments.
- Overloading new and delete.
- Dangling pointers.
- Smart pointer classes.
- Reference counting.
- Shallow vs deep copying.
Classes, Inheritance and Polymorphism
- Inheritance concepts.
- Multiple inheritance.
- Virtual functions and the vtable.
- Abstract classes.
- Pure virtual functions.
- Access specifiers and usage.
- Private or protected constructors and/or destructors.
- Canonical classes.
- Iterator and envelope classes.
- Class factories.
Templates
- Overview.
- Template definition syntax.
- Function templates.
- Template parameters.
- Class templates.
- Deriving from templates.
- Smart pointers with templates.
Standard Template Libraries
- Principles and design issues.
- Practical use of the STL containers, algorithms, data models, adaptors and allocators.
- Tradeoffs.
Object-Oriented Design Principles
- Overview of Object Orientation and the Unified Modelling Language.
- Class relationships and associations.
- Containment, composiition and aggregation.
- HAS, USES and IS relationships.
- Interfaces and abstract classes.