C++ – Fundamentals of Modern C++ Programming (CPP1)

Programming, C, C++

C++ was created by Bjarne Stroustrup in the 1980s by combining the low-level performance of C with object-oriented ideas from Simula 67. Today it is a fast, versatile language for systems and applications where performance, objects and low-level access matter.

C++ is widely used in industrial and embedded domains—automotive, rail, aviation, plus networking and Internet systems. This course is updated for C++20/C++23/C++26 and covers the toolchain and the standard library. New learners may prefer starting with Python first.

Location, current course term

Contact us

Custom Customized Training (date, location, content, duration)

The course:

Hide detail
  • Introduction to the C++ language
    1. Modern C++ up to the latest C++26
    2. Historical perspective: C and C++
    3. How to get started with C++
  • Working with the toolchain
    1. Building and linking programs
    2. Compiler and linker options
    3. Diagnosing and fixing compilation errors
  • Basic input and output
    1. Formatted printing (std::println in C++23)
    2. Input and output streams
    3. Reading lines with std::getline
  • Variables and expressions
    1. Local variables and constants
    2. Numeric types and operations
    3. Expressions and operators
  • Structured data types
    1. Fixed-size arrays
    2. Tuples and simple structs
    3. Variable initialization
  • Structured programming
    1. Loops and branching (while, if)
    2. Iterating data structures (for)
    3. Loop control (break, continue)
  • Organizing code with functions
    1. Defining and calling functions
    2. Arguments and return values
    3. Passing structured data
  • Basic error handling
    1. Throwing and catching exceptions
    2. Handling error return values
    3. The std::expected return type
  • Working with text
    1. Strings and C interop (std::string)
    2. String views (std::string_view)
    3. Text handling without dynamic allocation
  • Binary data
    1. Structured data and offsets
    2. Reading and writing binary files
    3. Packet and message representation
  • Memory allocation
    1. Compile-time allocated memory (static)
    2. Stack-allocated variables
    3. Dynamic allocation with std::make_unique (heap)
  • Working with references
    1. Passing data by reference
    2. Storing references in classes
    3. Lambdas and references
  • Enumerations and branching
    1. Using enum class
    2. Branching on enum values
    3. Underlying numeric types
  • Encapsulating code into classes
    1. Class instances and data members
    2. Constructors and destructors
    3. Methods and operator overloading
  • Integration with the operating system
    1. Environment variables and command-line arguments
    2. File and filesystem operations
    3. Waiting and working with time values
  • Bonus: Libraries and interfaces
    1. Writing reusable code
    2. Maintaining a simple public interface
    3. Working with header files
Assumed knowledge:
Experience programming in another language.
Recommended previous course:
C Language – Programming Basics (C1)
Recommended subsequent course:
C++ – Advanced Programming (CPP2)
Schedule:
3 days (9:00 AM - 5:00 PM )
Language:

Vybrané zákaznické reference

Digiteq Automotive s.r.o., David S.
C++ – Fundamentals of Modern C++ Programming ( CPP1)
"Školení splnilo má očekávání. Výklad byl srozumitelný. Zázemí bylo velice příjemné."
Advantech Czech s.r.o., Marek P.
C++ – Fundamentals of Modern C++ Programming ( CPP1)
"Jsem plně spokojen, těším se na pokračující kurz."
High Tech Engineering Center a.s., Miroslav K.
C++ – Fundamentals of Modern C++ Programming ( CPP1)
"Hodnotím veľmi pozitívne."
Správa železnic, státní organizace, Libor B.
C++ – Fundamentals of Modern C++ Programming ( CPP1)
"Školení pro mne bylo přínosem, seznámil jsem se základy objektového programování. Praktické příklady mi umožnily ihned použít získané vědomosti."
RETIA, a.s., Vojtěch P.
C++ – Fundamentals of Modern C++ Programming ( CPP1)
"Oceňuji praktickou ukázku dané problematiky na dobrých příkladech."
ON Semiconductor Slovakia a.s., Gabriel N.
C++ – Fundamentals of Modern C++ Programming ( CPP1)
"Rozsah a odbornosť kurzu boli viac ako uspokojivé. Informácie boli jasne a zrozumiteľne podané. "
Ústav pro hospodářskou úpravu lesů, Radim A.
C++ – Fundamentals of Modern C++ Programming ( CPP1)
"Školitel si výborně poradil s velkým rozsahem látky C++, poskytl dobrý přehled prakticky všeho, co bych čekal. Výborně reaguje na dotazy a okamžitě sype z rukávu praktické příklady. Je znát, že se nemusel připravovat den předem. Více toho v rámci dvou dní c++ nestihne přenést asi nikdo."