C++ Programming

Training

In London

£ 790 VAT inc.

Description

  • Typology

    Training

  • Location

    London

  • Class hours

    36h

Facilities

Location

Starts

London
See map
77-91 New Oxford Street, WC1A 1DG

Starts

On request

Questions & Answers

Ask a question and other users will answer you

Who do you want to respond to your question/enquiry?

We will only publish your name and question

Course programme

This is a hands on course with a mix of tuition and practical sessions for each technical chapter which reinforce the C++ syntax and object-oriented programming techniques covered in the course.

Prerequisites

  • C Programming
  • C structures (i.e. struct and/or class); Declaration and use of pointers; Function declaration, definition and use with call by value or call by pointer; Dynamic memory allocation (i.e. malloc and free, or new and delete); Multiple source file projects (requiring project files or makes files). You should also have a good appreciation of object-oriented principles or have attended our Object-Oriented Primer course.

Delegates will learn how to

  • Define classes
  • Write class member functions
  • Use constructors, destructors and dynamic memory
  • Write code that is efficient and robust
  • Build new classes from other classes using inheritance, composition and association
  • Use template classes
  • Use operator overloading
  • Design and write classes with polymorphic behaviour

An Overview of OO Programming and C++

  • Review of OOP principles
  • Behaviour, state, identity, inheritance, polymorphism
  • History and evolution of C++
  • Key features of C++
  • C++ as a better and safer C

The Class Approach

  • Grouping of data and functionality
  • Syntax of a class declaration
  • Syntax of use
  • Public and private
  • Abstract Data Types
  • Program structure

Providing Class Functionality

  • Member functions
  • Function overloading
  • Default arguments
  • Ambiguities
  • Anonymous arguments
  • Resolving scope conflicts
  • The Scope resolution operator
  • The this pointer

Object Lifecycle

  • Life of an object
  • Constructors
  • operator new
  • Death of an object
  • Destructors
  • operator delete
  • Dynamic arrays

Efficiency and Integrity

  • Enumerations
  • Const declarations
  • Const member functions
  • Const member data
  • Inline function mechanism
  • Reference variables

Composite Classes

  • An opportunity for reuse
  • Scoping and initialisation
  • Order of construction
  • Member Initialisation lists
  • Use of fundamental classes

Associative Classes

  • Delegating class functionality
  • Dynamic associations
  • Custody and lifetime
  • Constant associations

Operator Overloading

  • Operator functions
  • Unary operators
  • Binary operators
  • Global operators
  • Member operators
  • Subscript operators
  • Input operators
  • Output operators
  • Guidelines

Class Properties

  • Static data members
  • Static member functions
  • Nested types
  • Forward declarations
  • Friend classes

Container Classes

  • Organising collections of objects
  • Template classes
  • vector
  • list
  • Iterators
  • Template functions
  • Algorithms
  • Using the Standard Library

Copying and Conversions

  • The copy assignment operator
  • Copy constructors
  • Conversions to a class object
  • Conversions from a class object

Inheritance

  • Extension of existing classes
  • Notation, syntax, terminology
  • Protected members
  • Scoping and initialisation
  • Multiple inheritance
  • Abstract base classes
  • Guidelines

Polymorphism

  • Modified class behaviour
  • Virtual functions
  • virtual destructors
  • Late binding
  • Inside the virtual function mechanism
  • Pure virtual functions
  • Use of pointers to base type
  • Guidelines

C++ Programming

£ 790 VAT inc.