Your "One-Stop-Shop" for your next Embedded Project

Stacks Image 301500

Course: C++ for Embedded Systems

Who Should Attend?

Software engineers with C experience having to develop object oriented applications for embedded systems.


A good working knowledge of C.


5 days (Monday to Friday)

Course Description:

This course teaches the programming language C++ and the concepts of object oriented programming with focus on embedded systems. Particular emphasis is put on the assessment of the memory and runtime requirements of the language features, which is vital for embedded systems.

Additionally this course shows how to deal with hardware devices in an object oriented way. The related hands-on exercises are performed with IAR Embedded Workbench for ARM and ARM-based target boards.

Course Outline

New Language Features
  • Data type bool
  • References
  • Function overloading
  • Default parameters
  • Namespaces
  • Dynamic memory management
  • Operator overloading
  • Input/output (cin/cout)
From Struct to Class
  • Data elements, attributes
  • Member functions, methods
  • Static / non-static elements
  • this-Pointer
  • Access rights public and private
  • Class
Construction and Destruction
  • Default- and copy-constructor
  • Global / static objects and arrays Objects containing objects
Operators as Class Members
  • Assignment operator
  • Index operator
  • Type cast operator
Inheritance and Aggregation
  • Base class and derived class
  • Benefits of inheritance compared to aggregation
  • Modeling the base class functionality
  • Impact on construction and destruction
  • Access right protected
  • Protected and private inheritance
Virtual Functions and Polymorphism
  • Static and dynamic linking
  • Virtual function table (vtable)
  • Abstract functions and abstract classes
Assessment of the Language Features
  • Object model
  • Object creation and deletion
  • Temporary Objects
  • Inheritance
  • Virtual functions
  • Dynamic memory management
Mapping Hardware Devices
in an Object Oriented Way
  • Traditional solutions
  • Struct-based solution
  • Hardware device as a C++ object
  • Interrupt handling

On request this training course can be arranged also as customer internal training.
Contact us with your requirments for course type, number of participants and location.