Course Outline
C++ is a fully compiled programming language, based heavily on C. C++11 now introduces many new features to improve C++ and its efficiency. C++ allows multiple paradigms for programming Object Oriented; Generic and Functional. C++ still holds a valid place in the enterprise, whether you are developing Windows applications or for embedded real time operating systems running on black boxes. C++ is widely used in the manufacturing sector for real-time controls and workflow monitoring. C++ is also an excellent stepping stone to move into developing distributable applications and "thick client" windows applications using .NET Framework and Visual Studio.NET.
Course Content
Our hands-on C++ training course has been developed for real-world, commercial scenarios by our expert instructors. See below for detailed syllabus. If you have a technical question, please email sales@jbinternational.co.uk
This course will provide delegates with a sound base in object oriented concepts and the C++ programming language, also introducing generic and functional programming. Practical exercises are used throughout, using either Visual Studio.NET (Visual C++) on Windows platform or GCC compiler on Linux (Eclipse). No previous C++ programming experience is required.
C++ Programming Course Outline
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 an 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
Default arguments
Overloading
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 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
Using 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
New C++11 Features
Lambda Functions
Lambda Functions vs Functors
Lab: Use Lambda Function as alternative to Functor