• slide1
  • slide2
  • slide3
  • slide4

You are here

C++ BASIC course

The goal of this course is to provide developers with the most important concepts of the C++ programming language.

C++ == a better C

  • Comments
  • Streams
  • Default function arguments
  • Function overloading
  • References

Concepts of Object-Oriented Programmig (OOP)

  • Objects and Classes
  • Abstraction/Encapsulation
  • Data Hiding
  • Inheritance
  • Polymorphism
  • Composition
  • Aggregation
  • OO Design

Object based programming

  • Objects and Classes
  • Class members
  • Class members visibility
  • this-pointer
  • Construction/destruction
  • const-members and objects, best practices
  • Dynamic memory allocation : new/delete
  • static-members
  • Class code management
  • Friend classes/functions

Implementing OO-concepts in C++

  • Inheritance
  • Polymorphism
  • Pure virtual-functions
  • Abstract classes
  • Interfaces
  • Calling conventions
  • Name decoration or name mangling
  • Under the hood
  • Use of “extern C”
  • Robust programming
  • Setting up an EH-scheme
  • try/throw/catch
  • Throwing objects
  • Best practices
  • Use of set_terminate()
  • Best practices
  • Typecasts
  • Conversion by constructor
  • Conversion operator
  • Avoiding ambiguities

Migrating from C to C++

Exception handling (EH)

Conversions

Operator overloading

  • Introduction
  • Overloading as a gadget
  • using a member function
  • using a friend function
  • Overloading as a necessity
  • overloading operator=()
  • copy constructor
  • Restrictions
  • Template functions
  • Class templates
  • Standard Template Library (STL)
  • Inheriting implementations
  • Ambiguities
  • virtual base classes
  • Definition of cin
  • Definition of cout
  • Persisting your own objects
  • Formatted output

Templates - STL

Multiple Inheritance

I/O-streams : under the hood