Advanced C++ Programming  Course

This 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.

"Excellent course, providing insight into the inner working of C++, which most learning material & sources don't provide. Will recommend the course to others."

T. Pillay, CSIR   (Lecturer: Renier)

"Amazed by the expertise and knowledge settled in one human being - indeed a walking library."

R. Broodryk, Denel Dynamics   (Lecturer: Renier)

"Renier has an extensive knowledge of the course, and excellent teaching skills. There is a lot I have learned."

T. Mashilwane, Parsec   (Lecturer: Renier)

Do you need a quote? Want to discuss your requirements? We promise to get back to you within 1 working day.

Fields marked with * are required.


Please enter your name

Please enter your surname

Please enter a valid phone number eg. 0126662020

Please enter a valid email address

Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

Audience: Is This The Right Course For Me?

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++.

Prerequisites: Am I Ready For The Course?

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++.

Please ensure you meet the prerequisites for this course before you attend. Read the importance of course prerequisites to understand why this is necessary.

If you are not sure which is the right course for you, please call us. We will be happy to advise you, based on your training goals and your experience.

Objectives: What Will I Learn?

After you have completed the Advanced C++ Programming course, you will be able to:

  • Understand and use advanced C++ programming techniques.
  • Understand and use the standard template library.
  • Apply object-oriented techniques in C++ programs.

Download the Advanced C++ Programming course contents in PDF format

Technical Contents: What Does The Course Cover?

Fundamentals
  • Overview of C++ and ISO C++11 Standard.
  • 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.

Testimonials: What Other Delegates Say About This Course

"Very good course! Thank you."

P. Coetzee, QLink   (Lecturer: Renier)

"I am impressed with the material & speed of the course, however a lot of new concepts for me as a programmer & will have to work through the notes again to gain a better picture. Thanks."

V. Eloff, QLink   (Lecturer: Renier)

"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)

"Excellent!! I've learned a lot. The most important thing for me is that I've realised the power of the C++ language."

B. Khuele, Net 1   (Lecturer: Renier)

"The lecturer made a special effort to explain elements that were not clear & understood by the audience. He also provided web pages with useful quick references."

P. de Souza, CSIR   (Lecturer: Renier)

"Excellent course, providing insight into the inner working of C++, which most learning material & sources don't provide. Will recommend the course to others."

T. Pillay, CSIR   (Lecturer: Renier)

"Great presentation and explanation of the core fundamentals of the C++ programming language"

N. Moloisane, CSIR   (Lecturer: Renier)

"Amazed by the expertise and knowledge settled in one human being - indeed a walking library."

R. Broodryk, Denel Dynamics   (Lecturer: Renier)

"Enjoyable, learnt much"

B. van Ellewee, SAAB   (Lecturer: Renier)

"Definitely will recommend this course to friends and colleagues."

S. Maharaj, Denel Dynamics   (Lecturer: Renier)

" 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)

"This training was very impressive compared to the others that I have completed. I have realised the importance of attending the training step by step."

A. Phoshoko, Standard Bank   (Lecturer: Renier)

"Incus Data is a great place for learning and I am very satisfied with everything."

J. Cilliers, Momentum   (Lecturer: Renier)

"The course content and way in which it was presented was superb! Obviously, practice is required. The environment complemented the learning experience in every way."

K. Gema, Parsec   (Lecturer: Renier)

"Renier has an extensive knowledge of the course, and excellent teaching skills. There is a lot I have learned."

T. Mashilwane, Parsec   (Lecturer: Renier)

"Great course, learnt a lot! Tips & Tricks very useful."

R. de Nysschen, Parsec   (Lecturer: Renier)

"Thanks - wish we had such a knowledgable person on our team"

J. van der Merwe, Telkom   (Lecturer: Renier)

"Dankie!! C++ is baie powerful, dankie vir jou interpretasie en insig. Dit kom slegs met jare se ondervinding."

M. Beukes, Telkom   (Lecturer: Renier)

Duration: 5 days. Courses are presented from 08:30 to 16:30.
Price: R10,900.00 excluding VAT per delegate.

This price includes everything that you need:

  • All course material.
  • An attendance certificate.
  • Lunch and refreshments.
  • A voucher to re-attend the course for a minimal fee within 6 months.
  • A voucher for a free competency assessment within 6 months.
All you have to bring to the course is the desire to learn.
Location: The Incus Data Training Venue in Centurion, Pretoria.

If that doesn't suit you, we also offer:

Date: Please check the course schedule for the next date.
You can also contact us at tel: (+27) 12-666-2020 or cell/WhatsApp: (+27) 76-694-7705, or email us at info@incusdata.com to find out about dates that suit you.

How Do I Book?

It's easy to book: Fill in our course enrolment form (editable PDF file) and email it to us at info@incusdata.com.

After we have received your booking, we will send you a confirmation that you are booked on the course, an invoice and directions to the venue.

Tip: Most PDF readers, other than Adobe Reader, will let you save the form with the data you have entered. If you are using Adobe Reader, however, you might not be able to do this. But don't despair: when you have typed in the information, just print the file to PDF - and you'll have a completed enrolment form ready to email to us.