Course detail
The C++ Programming Language
FIT-ICPAcad. year: 2018/2019
ISO C++ language overview. Objects, classes, inheritance, polymorphism. Operator and function overloading. Templates. Exceptions. Standard library, STL.
Language of instruction
Czech, English
Number of ECTS credits
4
Mode of study
Not applicable.
Guarantor
Department
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.
Prerequisites
Not applicable.
Co-requisites
Not applicable.
Planned learning activities and teaching methods
Not applicable.
Assesment methods and criteria linked to learning outcomes
At least 50% of points.
Course curriculum
Not applicable.
Work placements
Not applicable.
Aims
The goal is to introduce students to object-oriented programming in C++ language and to generic programming using templates.
Specification of controlled education, way of implementation and compensation for absences
Not applicable.
Recommended optional programme components
Not applicable.
Prerequisites and corequisites
- recommended prerequisite
The C Programming Language
Basic literature
Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014 (EN)
Recommended reading
Stroustrup, B.: The C++ programming language, 4th edition, Addison-Wesley, 2014
Classification of course in study plans
Type of course unit
Seminar
26 hod., optionally
Teacher / Lecturer
Syllabus
- Introduction. Basic overview of ISO C++. Examples of C++ use.
- Basic differences of C and C++. Declarations, definitions, namespaces. Types.
- Statements and operators of C++. The terminology and principles of object-oriented programming in C++.
- Objects, classes, class members. Member access control. Member functions, "this" keyword, static members.
- Object creation and destruction: constructors, destructors, operators new and delete.
- Function and operator overloading. Type conversion operators.
- Input/output (iostream, fstream). Output formatting, file streams and string streams.
- Inheritance, base and derived classes. Multiple inheritance, virtual base classes.
- Polymorphism, virtual methods, abstract classes. Runtime type information.
- Templates, (partial) specialization.
- Standard library, algorithms, iterators, containers, function objects.
- Exceptions, exception specifications.
- Library overview. Effective C++ programming.