Highlights
- Learn principles of Object Oriented Programming
- Create Efficient Responsive Robust C++ Applications - Where Performance Matters
- Explore Imperative Programming Features
- Use Functions and Flow of Control
- Understand Memory Management
- Work with Pointers and Smart Pointers
- Learn Data Structures and Classes
- Implement Inheritance and Polymorphism
- Apply Templates for Generic Programming
- Understand use of Operators and Streams
- Gain an Introduction to the Standard Library
- Explore New C++ 11 to C++20 Features
Here is a short video of an exercise on illustrating inheritance and polymorphism in C++ as it would be taught on JBI training's 4 day C++ introduction training course.
Course Details
Introduction to Object Oriented Programming
- Data abstraction
- Encapsulation
- Inheritance
- Polymorphism
C++ Fundamentals
- iostream
- Use of cin and cout
- Comments
- Declaring variables
- Scope
- Lab: Create simple application providing input/ouput
Introduction to Functions
- Defining functions
- Passing by value
- Passing by reference
- Lab: Separate functionality into separate functions
Iteration and Flow of Control
- Relational operators
- for and while loops
- do-while loop
- Conditional expression
- Switch statement
- Lab: Add flow of control statements to provide user options
Arrays
- Declaring arrays
- Initialisation
- Accessing arrays
- Multi-Dimensioned arrays
- Lab: Extent application to store data
Data Structure
- Defining a structure
- Accessing structure members
- Lab: Store data within structures
Functions Revisited
- Function overloading
- Default arguments
- Lab: Add function overloads
Pointers and Dynamic Memory
- Overview of use of Pointers
- Declaring pointers
- Use of new and delete
- Smart Pointers (new C++11 features)
- Exception handling
- Labs: Experiment with the use of pointers
Classes
- Defining a class
- Constructors
- Destructor
- Inline functions
- New C++11 to 20 class features
- Lab: Revise application to use classes and encapsulation
Inheritance - Polymorphism
- Virtual functions
- Pure virtual functions
- Abstract classes
- Lab: Enhance application to use inheritance and polymorphism
Introduction to Templates and Namespaces
- Defining a namespace
- Templates provide the basis for Generic Programming
- Template functions
- Template classes
- Labs: Incorporate the use of a namespace; Experiment with the use of templates
Introduction to Operators
- Defining operators
- Unary and binary operators
- Type conversion operators
- Lab: Investigate the use of operators
Introduction to Streams
- Formatted output
- Input and error handling
- File input and output
- Lab: Add operator for output
Introduction to Standard Library
- Containers and Container Adapters
- Iterators and Iterator Adapters
- Algorithms
- Function Objects (Functors)
- Labs: Store data within container; Experiment with use of algorithms and functors
Overview of C++ 11 to 20 Features
- Lambda Functions
- Lambda Functions vs Functors
- Lab: Use Lambda Function as alternative to Functor
Who should attend
Feedback
4.8 out of 5 average
"Very clear and professional presentation of content. Good mix of theory and practice. I particularly liked the detailed explanations of the language which helped reinforce the learning" SP, Assistant Risk Manager, C++ Introduction, February 2021
“JBI did a great job of customizing their syllabus to suit our business needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and the Instructor handled this particularly well - very impressive”
Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022