C++ for C Programmers

call us now - 0845 757 3888
  • view dates / book course
  • course description
  • blogs

Print course outline | Download Word document | Link to page: http://www.qa.com/LGCPPPG1

Course dates

Currently scheduled dates for this training course
LocationMayJunJulAugview later dates
LocationSepOctNovDecview earlier dates
London
  1. Currently scheduled dates for this training course
    King William Street, EC4|-|-|-|-show prices/book
    LocationSepOctNovDecview earlier dates
    King William Street, EC4|-|-|26|-show prices/book
  2. King William Street, EC4location information and directions

    hide-prices
    26 Nov 5 or more places available £1,995 exc VAT

    orenquire about this course

    C++ for C Programmers training in King William Street, EC4

Print course outline | Download Word document | Link to page: http://www.qa.com/LGCPPPG1

Overview

C++ is undoubtedly one of the most popular programming languages for software development. It brings language enhancements and object-oriented programming support to C++ . However, C++ is a large and sometimes difficult language, and even with a C background, a programmer needs to understand C++ programming style as well as C++ constructs to get the best out of it. QA Training’s highly successful C++ for C Programmers course has a thorough theoretical and practical coverage of the language. This helps to eliminate the misconceptions and poor programming practice that can cause so many problems.

For experienced C programmers, the course will illustrate how to get the benefits of good software engineering and code reuse by using standard C++ and object-oriented programming techniques in real-world programming situations. There will be ample opportunity to apply these techniques during the practical sessions.

Delegates without extensive C experience should attend our C++ for non-C Programmers course instead.

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 Programmers wishing to learn or improve in C++ .
  • Delegates must have solid experience of C including 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 with less than four months or no recent experience of C should attend the C++ for non-C Programmers course instead.

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.

Course Outline

Course Introduction

  • Course Prerequisites
  • Course Objectives
  • Course Delivery
  • Course Practicals
  • Course Structure

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 birth and death

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

Efficiency and Integrity Issues

  • 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

The Way Ahead

  • Review
  • Support after this course
  • Further C information sources
  • Future evolution of C++

Appendices

  • C++ 11 Standard Enhancements
  • Namespaces
  • Overview of exception handling
  • Smart pointers
  • Customised memory management
  • Interfacing with C
  • Class design recommendations

Print course outline | Download Word document | Link to page: http://www.qa.com/LGCPPPG1

Related blogs

vSphere 5 CLI reference poster

Posted by Bryan O'Connor on 24 May 2012

The vCAP-DCA 5 is coming, and having a look at the blue print, there will be command line and as such the reference poster will be a good resource for revision

Connection Options for the vMA (VMware Management Assistant)

Posted by Bryan O'Connor on 23 May 2012

This article covers the various conn-options for the vMA

Let’s have a Fling

Posted by Bryan O'Connor on 22 May 2012

Not the type you thought, but an offering from VMware

Windows 7 Native Boot Adding the VHD to Bare Metal

Posted by Andrew Mallett on 21 May 2012

I have written before on the native boot feature of Windows 7 where it can boot to a VHD, Virtual Hard Drive. In this blog though we look at adding in a VHD to a completely clean disk with no OS ....

Microsoft Virtual Academy

Posted by Bryan O'Connor on 21 May 2012

Been on a Microsoft Offical Course and fancy some complentary information, have a look at Microsoft Virtual Academy.

See all related blogs

 
top of page
  • Apple logo
  • AppSense logo
  • cisco logo
  • citrix logo
  • compTIA logo
  • ec council logo
  • IBM logo
  • lpi logo
  • microsoft gold logo
  • novell logo
  • oracle logo
  • redhat logo
  • SAP logo
  • symantec logo
  • vmware logo
  • novell logo
  • lpi logo