Experience Embedded

Professional Training, Consulting and Project Support

C++ Training: Object-oriented Programming with C++

  • Content
     
  • Objectives
  • Participants
  • Requirements

The development of sophisticated, high-quality and complex software involves substantial effort. This effort can be reduced in the long term and the quality of software development can be improved by using object-oriented methods. This C++ training highlights the syntax of the programming language C++ and offers in-depth practical exercises. The extensive practical exercises will also facilitate the transition from procedural programming to the different way of thinking and working with object-oriented programming. Topics like templates, the STL (standard template library), exceptions and containers will also be covered.

Software developers who want to use C++ based on object-oriented concepts.

Solid knowledge of C

Introduction to C++

  • History
  • C and C++: similarities and differences
  • Advantages of C++
  • Advantages of object oriented development

Program Setup

  • New language constructs
  • Function overload
  • Input and output with streams
  • Demonstrations
  • Exercise: Function overload

Data Types

  • New data types
  • Pointers and references
  • New items from C++ 11
  • Dynamic memory management
  • Smart pointer
  • Demonstrations

Control Structures

  • What was taken over from C? What is new?
  • Automatic for loop
  • Exceptions
  • Demonstrations
  • Exercise: Using control structures

Operators

  • Operator overload
  • Extraction and insertion operators for input and output

Classes

  • Setup of classes
  • Object creation
  • Constructor and destructor
  • Encapsulation of data and methods
  • Access rights to class members
  • this-pointer
  • Overloading of methods
  • Static data and methods
  • Constant methods
  • Difference between structure and class
  • Namespaces
  • Demonstrations
  • Exercise: Implementing a counter

Initialization and Release of Objects

  • How to use constructors
  • Universal initialization
  • Initialization of embedded objects
  • Constant data and their initialization
  • Demonstrations
  • Exercise: Implementing and initializing an embedded object

Specific Member Functions

  • Explicit and deleted constructors
  • Operator as member function
  • Specific syntax forms for typecast and increment/decrement operator overload
  • Move semantics
  • Demonstrations
  • Exercise: Implementing operators as member function

Inheritance

  • C++ implementation
  • Reuse of code through inheritance
  • Impact of access rights in class hierarchies
  • Behavior of constructors/destructors in class hierarchies
  • Demonstrations

Virtual Methods

  • Overriding methods of the basic class
  • Keywords: override and final
  • Polymorphism
  • Abstract classes
  • Abstract methods
  • Interfaces
  • Demonstrations
  • Exercise: Extending the counter with a derived class

Access Control with friend

  • Keyword: friend
  • Friend classes, methods and functions
  • Impact of friend on inheritance?
  • Demonstrations

Streams

  • Stream classes: overview
  • Output of files and strings using streams
  • Manipulators for output adjustment
  • Overloading stream operators
  • Demonstrations
  • Exercise: Stream operators for the counter class

STL (Standard Template Library)

  • Using template classes
  • C++ cast operators
  • Containers
  • Iterators
  • Algorithms
  • Smart pointer
  • Demonstrations
  • Exercise: Using STL containers

Practical Exercises in the C++ Training

  • Function overload
  • Using control structures
  • Operator overload
  • Implementing classes
  • Constructor overload, initializing embedded objects
  • Operators as member function
  • Polymorphism: inheritance and virtual methods
  • Stream output of own classes
  • Using the STL
  • The extensive exercises are carried out using Microsoft Visual Studio

MicroConsult PLUS

  • Participants get a USB stick with copies of the exercise directories and solution examples for all exercises.


The price includes lunch,

drinks, training documentation and certificate.


Information for HR

You can book up to 5 participants on one training with our online order form.
If you wish to book more participants on several trainings, please contact us!
Please also note our bonus program when booking several trainings and/or participants at once.


Information for HR

Related trainings

C++ Kurs: Objektorientierte Programmierung mit C++
Training Code: C++

Embedded C++: Object-oriented Programming for Microcontrollers with C++/EC++ and UML
Training Code: E-EC++


Related trainings

Trainings

Price *Duration
1.980,00 €4.5 days
Training code: E-C++

* All prices are exclusive of applicable VAT.


> Registration form download (PDF)
> Training details as PDF

Inhouse Training

In customized workshops, we integrate your specific project tasks and our training program, considering your requirements as regards content, time, location, duration, technical environment and knowledge transfer methodology.

Please contact us for further information or an individual quotation.

Coaching

Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

C++ Training: Object-oriented Programming with C++

Content

Introduction to C++

  • History
  • C and C++: similarities and differences
  • Advantages of C++
  • Advantages of object oriented development

Program Setup

  • New language constructs
  • Function overload
  • Input and output with streams
  • Demonstrations
  • Exercise: Function overload

Data Types

  • New data types
  • Pointers and references
  • New items from C++ 11
  • Dynamic memory management
  • Smart pointer
  • Demonstrations

Control Structures

  • What was taken over from C? What is new?
  • Automatic for loop
  • Exceptions
  • Demonstrations
  • Exercise: Using control structures

Operators

  • Operator overload
  • Extraction and insertion operators for input and output

Classes

  • Setup of classes
  • Object creation
  • Constructor and destructor
  • Encapsulation of data and methods
  • Access rights to class members
  • this-pointer
  • Overloading of methods
  • Static data and methods
  • Constant methods
  • Difference between structure and class
  • Namespaces
  • Demonstrations
  • Exercise: Implementing a counter

Initialization and Release of Objects

  • How to use constructors
  • Universal initialization
  • Initialization of embedded objects
  • Constant data and their initialization
  • Demonstrations
  • Exercise: Implementing and initializing an embedded object

Specific Member Functions

  • Explicit and deleted constructors
  • Operator as member function
  • Specific syntax forms for typecast and increment/decrement operator overload
  • Move semantics
  • Demonstrations
  • Exercise: Implementing operators as member function

Inheritance

  • C++ implementation
  • Reuse of code through inheritance
  • Impact of access rights in class hierarchies
  • Behavior of constructors/destructors in class hierarchies
  • Demonstrations

Virtual Methods

  • Overriding methods of the basic class
  • Keywords: override and final
  • Polymorphism
  • Abstract classes
  • Abstract methods
  • Interfaces
  • Demonstrations
  • Exercise: Extending the counter with a derived class

Access Control with friend

  • Keyword: friend
  • Friend classes, methods and functions
  • Impact of friend on inheritance?
  • Demonstrations

Streams

  • Stream classes: overview
  • Output of files and strings using streams
  • Manipulators for output adjustment
  • Overloading stream operators
  • Demonstrations
  • Exercise: Stream operators for the counter class

STL (Standard Template Library)

  • Using template classes
  • C++ cast operators
  • Containers
  • Iterators
  • Algorithms
  • Smart pointer
  • Demonstrations
  • Exercise: Using STL containers

Practical Exercises in the C++ Training

  • Function overload
  • Using control structures
  • Operator overload
  • Implementing classes
  • Constructor overload, initializing embedded objects
  • Operators as member function
  • Polymorphism: inheritance and virtual methods
  • Stream output of own classes
  • Using the STL
  • The extensive exercises are carried out using Microsoft Visual Studio

MicroConsult PLUS

  • Participants get a USB stick with copies of the exercise directories and solution examples for all exercises.

Wishlist


No trainings