Courses and Conferences

DTI Main Reception

Do you need help?

  • Gregersensvej 8
  • 2630 Taastrup
Google MapsApple MapsRejseplanen
  • Forskerparken Fyn, Forskerparken 10F
  • 5230 Odense M
Google MapsApple MapsRejseplanen
  • Teknologiparken Kongsvang Allé 29
  • 8000 Aarhus C
Google MapsApple MapsRejseplanen
  • NordsøcentretPostboks 104
  • 9850Hirtshals
Google MapsApple MapsRejseplanen
  • Gammel Ålbovej 1
  • 6092Sønder Stenderup
Google MapsApple MapsRejseplanen

C++ Programming

Get started with programming in C++. During this course you will gain knowledge on how to develop C++ programs and implement object-oriented concepts with C++. Participants are expected to have programming experience from another language but not nessacarily OO. This course is taught in English.



All course activities vil be evaluated by the participants

The evaluation is based on: 12 participants


  • At least 6 months programming experience
  • No OO experience is assumed

Participant profile

This course is aimed for students who want to learn programming in C++.


  • Understanding C++ types, variables, and operators
  • Using C++ flow-of-control constructs
  • Writing and calling functions
  • Using pointers, arrays, and structures
  • Defining classes and creating objects
  • Implementing operators and conversions
  • Using inheritance and polymorphism effectively

Course Content

Introduction to C++
  • Key features of C++
  • Defining variables
  • Formulating expressions and statements
  • Built-in data types
  • Console input/output
Operators and Types
  • Assignment
  • Compound Assignment
  • Increment and decrement operators
  • Const declarations
  • Type conversions
Going Further with Data Types
  • Enumerations
  • Arrays
  • Using the standard vector class
  • Using the standard string class
  • Structures
Flow of Control
  • Decision making with if, if-else, and switch
  • Looping with for loops, while loops, and do-while loops
Defining functions
  • Declaring, calling and defining functions
  • Function overloading
  • Defining default arguments
  • Pass-by-copy versus pass-by-reference
  • Defining inline functions
  • Header files and source files
  • Overview of pointers
  • Defining pointers
  • Dereferencing pointers
  • Const pointers
  • Null pointers
Overview of Object Oriented Concepts
  • Classes and objects
  • Abstraction
  • Encapsulation
  • Inheritance and polymorphism
Defining Classes
  • Syntax of class declarations
  • Public and private members
  • Creating objects
  • Using new and delete
  • Structures vs. classes
Implementing Class Functionality
  • Function overloading
  • Default arguments
  • Anonymous arguments
  • Ambiguities
  • Resolving scope conflicts
  • Using the this pointer
Defining Constructors and Destructors
  • Overview of an object's lifetime
  • Defining constructors
  • Constructor chaining
  • Defining destructors
Operator Overloading
  • Overview of operator functions
  • Defining unary operators
  • Defining binary operators
  • Defining the [] operator
  • Defining input and output operators
Defining Class-Wide Members
  • Overview
  • Static data members
  • Static member functions
  • Nested types
  • Friend classes
Creating Collections of Objects
  • The need for collections
  • Introduction to template classes
  • Using vector and list
  • Using iterators
  • Introduction to template functions
  • Using the Standard Template Library
Copying and Conversions
  • The copy assignment operator
  • Copy constructors
  • Conversions to a class
  • Conversions from a class
  • Recap of inheritance principles
  • Defining a subclass
  • Defining protected members
  • Scoping and initialisation
  • Multiple inheritance
  • Abstract base classes
  • Recap of polymorphism
  • Defining virtual functions
  • Virtual destructors
  • Pure virtual functions and abstract classes

Next course

Please contact us if you are interested in C++ Advanced programming or take a look at Modern C++ Development.


Andy Olsen
Andy is a freelance instructor and consultant based in the UK, with more than 30 years experience in the industry across a wide range of technologies and platforms. Andy began his professional career in C and migrated through C++, Java, .NET and other languages and toolsets as the years passed by. Andy is currently actively involved in contemporary systems development techniques including microservice architecture, cloud-based systems, and containerization.

Aktuelt online kursus

Online kurset "C++ Programming" kunne også være interessant for dig.

Do you have any course related questions, please contact