Course
C++ Programming
This course is designed to teach ISO Standard C++ to programmers in other high-level languages. C++ is a general-purpose programming language that is widely used in areas as diverse as operating systems and games, typically where performance is critical. The course explores concepts and syntax through lectures, discussion and hands-on lab exercises.
Duration: 5 days
Who is it for: This training course is for developers who need to be able to develop applications using the C++ programming language.
Layout:
Modules
Introduction
- What is C++?
- Origins and history
- Language features
Introduction to OO Principles
- Origins of OO
- Characteristics of OO languages
- Encapsulation and data hiding
- Polymorphism
- Inheritance
- Interfaces
Syntax Basics
- Hello World!
- Compiling and linking C++ code
- Simple I/O
- Keywords
- Literals
- Declaring variables
- Operators
- Decision statements
- Loops
- Commenting
Functions
- Declaring functions
- Arguments and return values
- Prototypes
- Header files
- Default and unused arguments
- Scope and linkage
- Function overloading
- Extern “C”
Arrays, References and Pointers
- Arrays
- Multidimensional arrays
- Strings
- Pointers
- Pointer arithmetic
- Pointers and functions
- Pointers and arrays
- Memory allocation with new and delete
- Void pointers
- References
Enums, Structs and Unions
- Creating and using enums
- Creating structs
- Dereferencing pointers
- Accessing struct members
- Typedef
- Unions
The Preprocessor
- Including files
- Defining constants
- Defining and using macros
- Conditional compilation
- Header file guards
- Standard macros and symbols
- Other preprocessor directives
Namespaces and Exceptions
- Creating and using namespaces
- Anonymous namespaces
- Namespace aliases
- What are exceptions?
- Throwing and catching exceptions
- Function try blocks
- Throw specifications
- Unhandled exceptions>
Working with Classes
- Creating classes
- Defining class members
- The ‘this’ pointer
- Constructors and destructors
- Initialization lists
- Default and explicit constructors
- Copy construction
- Exceptions in construction and destruction
- Inline functions
- Static class members
- The standard string class
Operator Overloading
- Why overload operators?
- Overloading rules and best practices
- Member and free operator functions
- Overloading assignment
- Overloading ++ and –
- Overloading [] and ()
Inheritance
- What is inheritance?
- Proper inheritance relationships
- Creating inheritance hierarchies
- Accessing base class members
- Base class initialization
- Protected access
- Virtual functions and polymorphism
- Public, protected and private inheritance
- Multiple inheritance
- Interfaces
Templates
- Templates and generic programming
- Template functions
- Template classes
- Template specialization
- Non-type parameters
I/O
- C I/O
- C++ stream classes
- Using cin and cout
- Handling errors
- File I/O
- Sequential and random File I/O
- Overloading input and output operators
The Standard Library
- Content of the Standard Library
- STL concepts
- Containers
- Iterators
- Algorithms
Enquire about this course
"*" indicates required fields