Programming in C++
• Highlevel programming languages, compilation process
• Obtaining the machine code: compilation process
• First C++ program
• Introduction to G++ compiler.
• Variable, integers: values, literals, operators
• Characters: values, literals, operators
• Floating point types: values, literals, operators
• Dealing with streams and basic input/output operations
Flow control and more data types
• How to control the flow of the program?
• More integral types: values and literals
• Loops and controlling the loop execution for, while, dowhile
• Logic, bitwise and arithmetic operators
• Functions: why do you need them?
• Declaring and invoking functions
• Different methods of passing parameters and their purpose
• Default parameters
• Inline functions
• Overloaded functions
• Converting values of different types
• Strings: declarations, initializations, assignments
• String as the example of an object: introducing methods and properties
• Namespaces: using and declaring
• Exception handling
Fundamentals of the objectoriented approach
• Class: what does it actually mean?
• What is objects?
• Class components
• Referring to objects
• Static members
• Classes and their friends
• Defining and overloading operators
• Base class, superclass, subclass
• Inheritance: how does it work?
• Types of inheritance
• Inheriting different class components
• Multiple inheritance
Classes – continued
• Polymorphism: the notion and the purpose
• Virtual methods: declaring and using
• Inheriting virtual methods
• Abstraction and abstract classes
• What is an exception?
• Catching and throwing exceptions
• Different classes and hierarchy of exceptions
• Defining your own exceptions
• What is a template?
• Function Template
• Class Template