Course detail

The C++ Programming Language

FIT-ICPAcad. year: 2019/2020

ISO C++ language overview. Objects, classes, inheritance, polymorphism. Operator and function overloading. Templates. Exceptions. Standard library, STL.

Learning outcomes of the course unit

Students are able to exploit C++ for creating middle-sized applications based on the object-oriented approach and generic programming concepts.


Not applicable.


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

ISO: Working Draft, Standard for Programming Language C++ (N4659). 2017-03-21 [dostupné elektronicky na WWW] (EN)
Soubor materiálů prezentovaných na přednáškách je dostupný na WWW.
Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014
Booch, G.: Object-Oriented Design with applications, 2nd edition, The Benjamin/Cummings Publishing Company 1994
ISO: Programming languages - C++, International Standard ISO/IEC 14882, 1998
ISO: Working Draft, Standard for Programming Language C++ (N4659). 2017-03-21

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

At least 50% of points.

Language of instruction

Czech, English

Work placements

Not applicable.


The goal is to introduce students to object-oriented programming in C++ language and to generic programming using templates.

Classification of course in study plans

  • Programme BIT Bachelor's, 2. year of study, summer semester, 4 credits, compulsory-optional

  • Programme IT-BC-3 Bachelor's

    branch BIT , 2. year of study, summer semester, 4 credits, compulsory-optional

Type of course unit



26 hours, optionally

Teacher / Lecturer


  1. Introduction. Basic overview of ISO C++. Examples of C++ use.
  2. Basic differences of C and C++. Declarations, definitions, namespaces. Types.
  3. Statements and operators of C++. The terminology and principles of object-oriented programming in C++.
  4. Objects, classes, class members. Member access control. Member functions, "this" keyword, static members.
  5. Object creation and destruction: constructors, destructors, operators new and delete.
  6. Function and operator overloading. Type conversion operators.
  7. Input/output (iostream, fstream). Output formatting, file streams and string streams.
  8. Inheritance, base and derived classes. Multiple inheritance, virtual base classes.
  9. Polymorphism, virtual methods, abstract classes. Runtime type information.
  10. Templates, (partial) specialization.
  11. Standard library, algorithms, iterators, containers, function objects.
  12. Exceptions, exception specifications.
  13. Library overview. Effective C++ programming.


13 hours, compulsory

Teacher / Lecturer


  • project