Previous
Next

I need more information

If you would like to speak to a member of our specialist team, please feel free to call our freephone number or email us directly:

0800 028 6400

enquiries@jbinternational.co.uk

Quote me | Enrol me

C++ Programming Training Course

Course code: C++
Details: 5 August, 4 days, £1800 + VAT
2 September, 4 days, £1800 + VAT
9 December, 4 days, £1800 + VAT
OnsiteEnquire about bringing this course to your offices
Who should attend: IT professionals who are completely new to C++ programming or those with elementary skills in C++, who need to gain hands-on experience of developing commercial applications.
Prerequisite skills: Programming skills gained in any language.

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