Code: 18PRC2 Programming in C++ 2
Lecturer: doc. Ing. Miroslav Virius CSc. Weekly load: 2+2 Completion: GA
Department: 14118 Credits: 4 Semester: S
Description:
This course covers the object oriented programming and othesr advanced constructs in the C+;+ programming language and the Standard Template Library.
Contents:
1. Class (object) types in C++
1.1 Declaraion of the class type without ancestors
1.2 Fields and methods. constructors.
1.3 Copy constructor. Destructor.
1.4 Inner class.
1.5 Inheritance, virtual methods.
1.6 Identifier conflicts.
1.7 Virtual inheritance.
1.8 Union as object type.
1.9 Member pointers.
2. Operator overloading
2.1 Common operator overloading.
2.2 Operators overloadable as methods only.
2.3 Operators new and delete.
3. Templates
3.1 Declaration, parameters.
3.2 Class type templetes
3.3 Function templates
3.4 Template metaprogramming
4. Exceptions.
5. Run time type identification.
6. Namespaces.
7. Input/output by stream classes.
8. STL: containers, localization tools.
Seminar contents:
Excercises outline and sylabus is the same as the outline and sylabus of the lecture
Recommended literature:
Key references:
[1] Virius, M: Programování v C++, 3. vyd. Praha, Vydavatelství ČVUT 2009. ISBN 978-80-01-04371-4

Recommended references:
[1] Stroustrup, B.: The C++ Programming Language. 3rd edition. Addison-Wesley 1997. ISBN 0-201-88954-4.
[2] Virius, M. Pasti a propasti jazyka C++. Druhé vydání. Brno, Computer Press 2005. ISBN 80-251-0509-1.
[3] Eckel, B. Myslíme v jazyku C++. Praha, Grada Publishing 2000. ISBN 80-247-9009-2. 552 stran. (První díl)
[4] Sutter, H. Exceptional C++. Addison-Wesley 2000. ISBN 0-201-61562-2.
[5] Sutter, H. More Exceptional C++. Addison-Wesley 2002. ISBN 0-201-70434-X.
[6] Koenig, A. C Traps and Pitfalls. Addison-Wesley 1989. ISBN 0-201-18928-8.
Keywords:
class;struct;union;constructor;destructor;method;field;operator;operator overloading;template;tenmplate metaprogramming;exception;run time type identification;namespace;STL;inheritance;virtual inheritance

Abbreviations used:

Semester:

Mode of completion of the course:

Weekly load (hours per week):