C++ BASIC course
The goal of this course is to provide developers with the most important concepts of the C++ programming language.
C++ == a better C
- Comments
- Streams
- Default function arguments
- Function overloading
- References
Concepts of Object-Oriented Programmig (OOP)
- Objects and Classes
- Abstraction/Encapsulation
- Data Hiding
- Inheritance
- Polymorphism
- Composition
- Aggregation
- OO Design
Object based programming
- Objects and Classes
- Class members
- Class members visibility
- this-pointer
- Construction/destruction
- const-members and objects, best practices
- Dynamic memory allocation : new/delete
- static-members
- Class code management
- Friend classes/functions
Implementing OO-concepts in C++
- Inheritance
- Polymorphism
- Pure virtual-functions
- Abstract classes
- Interfaces
- Calling conventions
- Name decoration or name mangling
- Under the hood
- Use of “extern C”
- Robust programming
- Setting up an EH-scheme
- try/throw/catch
- Throwing objects
- Best practices
- Use of set_terminate()
- Best practices
- Typecasts
- Conversion by constructor
- Conversion operator
- Avoiding ambiguities
Migrating from C to C++
Exception handling (EH)
Conversions
Operator overloading
- Introduction
- Overloading as a gadget
- using a member function
- using a friend function
- Overloading as a necessity
- overloading operator=()
- copy constructor
- Restrictions
- Template functions
- Class templates
- Standard Template Library (STL)
- Inheriting implementations
- Ambiguities
- virtual base classes
- Definition of cin
- Definition of cout
- Persisting your own objects
- Formatted output