Courses
Courses
Services
Services
About 
About 


C++

  Print    

Please contact us to discuss private course dates and locations

Course Overview

This course is designed for experienced programmers that need to write or maintain object-oriented C++ programs. The C++ programming language is a widely used powerful tool for producing modern object-oriented programs. This course guides experienced programmers through the complexities of writing and maintaining object-oriented programs in C++. It is fully up to date with the latest ISO standard for C++ and includes coverage of the important Standard Template Library. The course is spread over a five-day period and comprises of instructor-led presentations and practical hands-on exercises. The practical sessions are structured to give the delegates the opportunity to put into practice all of the language constructs covered during the instructor-led sessions. The delegates will be able to take away with them copies of all the code they have written, along with sample solutions and demonstration code.

Prerequisites

Objectives

What's Included

  • 1 delegate per computer
  • Relaxed refreshment area at our training venues
  • Lunch and refreshments when training is delivered at our training venue
  • Comprehensive course manual and exercises

Course Content

C++ Program Components

    Basic program components; functions, statements, file inclusion, input and output, keywords, variables, operators.

Data and Operators

    Identifiers, fundamental data types and their operators, constants, operator precedence, conversions, casting and scope

Structured Data Types

    Enumerations, data structures, aggregation, Standard Library string class

Control Flow

    Boolean operators, conditional selection, iteration

Functions

    Functional modularity, passing data in and out of functions, pass by value and reference, member functions, optimization with inline

Arrays and Vectors

    Basic containers; arrays and the standard template library vector class, access through subscripting and member functions, C type strings

Classes

    Object-orientation and classes, encapsulation, automatic construction, copying and conversions

Pointers

    Concept of indirection, null pointers, using pointers with functions and arrays, pointer arithmetic

Dynamic Memory

    Accessing the heap or freestore with new and delete, dynamic arrays, automatic destruction

Object Relationships

    Aggregation and association, delegation, managing custody of dynamic memory, copying custodial objects

Operator Overloading

    Class operators, overloading with globals or members, value operators, copy assignment

Streams

    Working with the Standard Streams; file streams, manipulators, string streams

STL Containers

    Introducing templates and the main Standard Template Library container classes; vector, deque, list, set and map
    Guidelines on choosing the right container for the job

Iterators

    Using Iterators to access the elements of Standard Template Library containers, introducing the standard algorithms

Inheritance

    Object-orientation and inheritance
    Creating and using derived classes, vertical delegation, standard conversions

Polymorphism

    Declaring and using virtual functions and the need for virtual destructors
    Pure virtual functions and abstract classes

Advanced Features

    Overview of some advanced features; exception handling, namespaces, multiple inheritance, smart pointers, template functions, extending the STL