0845 757 3888 · info@xpertise.co.uk

On-line training course catalogue

C++ for non-C Programmers

Type of course: Classroom

Course details
Fee£1700
Days5
Course code CCNONC


We currently do not have public dates scheduled for this course.
If you have a requirement for this course, please contact us for the latest course information.

Print this page | Download as Word document |

Overview

ISO standard C++ is a general-purpose language that bridges different styles of programming and spans different platforms and different application styles. This course teaches C++ to non-C Programmers, presenting C++ by starting with modern C++ concepts and techniques rather than assuming, or seeking to provide, a C background. It develops the concepts and syntax through lectures, discussion and lab exercises.

The course is suitable for experienced programmers with little or no C background. Some previous exposure to object-oriented concepts is required.

Prerequisites

Delegates should have some experience of programming. Some previous exposure to object-oriented concepts is required.

Delegates will learn how to

  • Use good practice and outline idioms for safe and sensible use of language features
  • Program C++ as a modern programming language, whilst appreciating its relationship with C
  • Understand object-oriented and generic programming in C++

Outline

A tour of C++

  • The main function
  • Header file inclusion
  • The standard library and namespace std; statements, blocks and scope
  • Comments
  • Functions
  • Stream I/O
  • Containers
  • Classes

Fundamental types

  • C++ built-in arithmetic types
  • Declaration and initialisation
  • Defining constants
  • Conversions between types
  • Arithmetic operators
  • Boolean operators

User-defined types

  • typedef, enum and struct
  • Using string, vector and map types

Control flow

  • Selection using if else and switch
  • Loops
  • Try, throw and catch
  • Exception safety

Functions

  • Declaring and defining functions
  • Pass by copy
  • Pass by reference and const reference
  • Guidelines on argument passing
  • Function overloading
  • Operator overloading

Pointers and arrays

  • Pointer declaration and usage
  • Array declaration and usage
  • Strings

Classes and objects

  • Encapsulation; classes, member functions and data
  • Public and private
  • Const member functions
  • Class versus struct
  • The this pointer

Object relationships

  • Delegation and forwarding
  • Composition and association
  • Managing objects dynamically with new and delete

Construction and destruction

  • Constructors and destructors
  • Default constructors
  • Member initialiser lists
  • Construction and destruction order

Value objects

  • Conversions for value objects
  • Explicit
  • Default copying
  • Copy constructors
  • Member and non-member operators
  • Ccopy assignment
  • Copy prevention for non-value types

Exception objects

  • Using objects for exceptions
  • Safe copy assignment
  • Safe resource release

Templates

  • Generic programming
  • Function templates
  • Class templates
  • Templates in the standard library
  • auto_ptr for exception safety
  • Managing long type names

Containers

  • The standard sequence containers
  • Tthe standard associative containers

Iterators

  • Iterator categories
  • Container iterators;
  • Iterator and const_iterator

Algorithms

  • Sorting, searching and copying ranges
  • Refactoring loops with generic algorithms

Interface-based programming

  • Interface classes and pure virtual functions
  • Virtual destructors
  • Implementing interfaces with public derivation and overridden functions
  • Multiple base classes

Inheritance-based programming

  • Generalisation, specialisation and substitutability
  • Astract classes with some implementation
  • Protected
  • Base class construction
  • Exceptions

Xpertise – C++ for non-C Programmers training courses

Xpertise provides C++ for non-C Programmers training courses from 22 UK locations: in Aberdeen Scotland, Altrincham Manchester, Birmingham West Midlands, Bristol South West, Edinburgh Scotland, Glasgow Scotland, Hinckley East Midlands, Leeds Yorkshire, Leeds Yorkshire (Ring Road), London King William Street, London Middlesex Street, London Rosebery Avenue, London Tabernacle Street, Maidenhead Berkshire, Malmesbury Wiltshire, Manchester (Exchange Quay), Milton Keynes Buckinghamshire, Newcastle Tyne and Wear, Reading Berkshire, Stockport Manchester, Swindon Wiltshire and Washington Tyne and Wear – and at 44 partner locations nationwide.


Xpertise Training reserves the right to improve the specification and format of its courses for the benefit of its customers without notice to the customer.