Advanced C++ Programming Course

About this course

The Advanced C++ Programming course examines the more sophisticated features and language mechanisms defined by the ISO C++ standards.

The emphasis is on writing robust, maintainable, and portable C++ code, with particular attention to object lifetime, resource management, advanced type interactions, and complex program behaviour.



Delegate feedback

Feedback from delegates who have attended this course:


Intended Audience

This course is useful if:
  • You develop or maintain software written in C++.
  • You work with complex C++ code and want deeper control over language behaviour.
  • You use C++ and want a more structured understanding of advanced language features.
  • You develop or support embedded systems using C++.

Prerequisites

Delegates should have knowledge equivalent to the Standard C++ Programming course.

Familiarity with classes, constructors, references, and basic object-oriented programming is expected.

Course details

Price: R15,800 excluding VAT per delegate.

Included:

  • Electronic course material.
  • Attendance certificate (PDF).

Duration: 5 days.

Delivery: Virtual classroom
See how virtual training works.

See the course schedule for upcoming dates.

Booking information

Email your booking to info@incusdata.com. A purchase order, or completed enrolment form is sufficient.

We will confirm the booking and issue an invoice.

Course contents

Advanced C++ Language Mechanics

  • Overview of C++ and ISO standards.
  • C and C++ differences and portability considerations.
  • Operator overloading mechanics.
  • Function overloading and parameter mechanisms.
  • Namespaces: structure, usage, and practical considerations.
  • References and value semantics.
  • Run-time type information (RTTI).
  • Name mangling and linkage considerations.

Exception Handling

  • Exception handling structure and usage.
  • Error handling strategies.
  • Memory allocation failure handling.
  • Exception-safe design considerations.

Pointers and Memory Management

  • Dynamic memory and object lifetime.
  • Overloading new and delete.
  • Pointer ownership and lifetime strategies.
  • Reference counting concepts.
  • Shallow vs deep copying.

Classes, Inheritance and Polymorphism

  • Inheritance and polymorphic behaviour.
  • Virtual functions and dynamic dispatch.
  • Multiple inheritance considerations.
  • Abstract classes and interfaces.
  • Copy control and object lifetime management.
  • Object construction and interface patterns.

Templates and Generic Programming

  • Template definition and usage.
  • Function and class templates.
  • Template parameters and instantiation.
  • Practical template usage patterns.

Standard Template Library (STL)

  • STL principles and design considerations.
  • Containers, iterators, and algorithms.
  • Practical usage considerations and trade-offs.

Object-Oriented Design Considerations

  • Class relationships and responsibilities.
  • Composition and aggregation concepts.
  • Interface design considerations.

Download the course outline

Download the Advanced C++ Programming course outline in PDF format.

Thank You

We're Excited!

Thank you for completing the form. We're excited that you have chosen to contact us about training. We will process the information as soon as we can, and we will do our best to contact you within 1 working day. (Please note that our offices are closed over weekends and public holidays.)

Don't Worry

Our privacy policy ensures your data is safe: Incus Data does not sell or otherwise distribute email addresses. We will not divulge your personal information to anyone unless specifically authorised by you.

If you need any further information, please contact us on tel: (27) 12-666-2020 or email info@incusdata.com

How can we help you?

Let us contact you about your training requirements. Just fill in a few details, and we’ll get right back to you.