C++ for non-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/LGCPPNC1

Course dates

Currently scheduled dates for this training course
LocationMayJunJulAugview later dates
LocationSepOctNovDecview earlier dates
London
  1. Currently scheduled dates for this training course
    Middlesex Street, E1|-|-|9|-show prices/book
    LocationSepOctNovDecview earlier dates
    Middlesex Street, E1|-|-|-|-show prices/book
  2. Middlesex Street, E1location information and directions

    hide-prices
    09 Jul 5 or more places available £2,575 exc VAT

    orenquire about this course

    C++ for non-C Programmers training in Middlesex Street, E1
  1. Currently scheduled dates for this training course
    Rosebery Avenue, EC1|-|-|-|-show prices/book
    LocationSepOctNovDecview earlier dates
    Rosebery Avenue, EC1|-|8|-|3show prices/book
  2. Rosebery Avenue, EC1location information and directions

    hide-prices
    08 Oct 5 or more places available £2,575 exc VAT

    orenquire about this course

    03 Dec 5 or more places available £2,575 exc VAT

    orenquire about this course

    C++ for non-C Programmers training in Rosebery Avenue, EC1

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

Overview

C++ is undoubtedly the most widely-used programming language for implementing object-oriented systems. The C++ language is based on the popular C language. However, the demand for the language has expanded beyond C programmers looking to upgrade to C++ , and a number of C programming practices and features are not required, or are seen as detrimental, in C++ programs.

The C++ for Programmers course provides thorough practical and theoretical coverage of the C++ language for the experienced application programmer who has little or no recent C experience. It helps eliminate misconceptions and poor programming practices that can cause so many problems, by focusing on features of the language and standard library that enforce good practice and encourage clear and robust code.

Delegates with extensive C experience should attend QA’s C++ for C Programmers course instead. Delegates who are relatively new to programming or who do not have experience in a modern programming environment, for instance on mainframe systems, should first attend the C++ Primer course.

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

Prerequisites

  • Developers with solid programming experience but little or no recent C.
  • Delegates must have solid experience of another modern high-level language, including writing and using Functions/procedures/subroutines
  • Knowledge of structured data types such as arrays, structs or records
  • An understanding of scoped variables (i.e local vs. global data).
  • Delegates with less than four months of recent C programming may find this course more appropriate than C++ for C Programmers. Delegates with less than six months of programming experience or with a mainframe background should first attend the C++ Primer course and follow it up with some practical work.

Delegates will learn how to

  • Understand the key concepts and vocabulary of object orientation
  • Use fundamental and composite data types
  • Define and use classes
  • Write class member functions
  • Use pointers and dynamic memory
  • Use constructors and destructors
  • Write code that is efficient and robust
  • Build new classes from other classes using aggregation and association
  • Build new classes from other classes using inheritance
  • Use container classes, including template classes
  • Use operator overloading
  • Design and write code with polymorphic behaviour

Course Outline

Course Introduction

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

C++ Programs

  • Key features of C++
  • Identifiers and keywords
  • Simple declarations, expressions and statements
  • Basic I/O
  • Layout
  • Guidelines

Fundamental Data Types

  • Built-in types
  • Integer numbers
  • Floating Point numbers
  • Characters
  • Booleans
  • Assignment
  • Compound Assignment
  • Increment and Decrement
  • Defining constants
  • Type conversions

Composite Data Types

  • Defining and using enumerations
  • Built-in arrays and their limitations
  • Using the vector class
  • Built-in strings as character arrays
  • Using the string class
  • Defining and using structures

Control Flow

  • Simple and compound statements
  • Selection with if else and switch statements
  • Conditional expressions
  • Looping with while and for statements

Functions

  • Declaring, calling and defining functions
  • Overloading
  • Default arguments
  • Scope issues
  • Pass by copy
  • Pass by reference
  • Inline functions
  • Header files and source files
  • Pitfalls and guidelines

Object Concepts

  • Object behaviour
  • Object state
  • Object identity, Object-oriented programming
  • Classes
  • Encapsulation

Using Classes

  • Associating functionality with data
  • Class definitions
  • Public and private
  • Queries functions and modifier functions
  • Struct vs class

Pointers

  • Concepts and syntax
  • Pointers to structured types
  • Pointers for encapsulated objects
  • Null pointers
  • Pointers vs. references

Implementing Classes

  • Defining member functions
  • Object identity
  • The this pointer
  • Initialisation
  • Constructors
  • Default constructors
  • Member Initialisation
  • Scope issues
  • Inlining member functions

Operator Functions

  • Operators as functions
  • Global operators
  • Member operators
  • I/O stream operators
  • Pitfalls and guidelines

Object Relationships

  • Associations and their implementation
  • Compositions and their implementation
  • Navigation
  • Delegation
  • Multiplicity

Dynamic Memory

  • The need for dynamic memory
  • Dynamic objects
  • Using new and delete
  • Dynamic arrays;
  • Using new[] and delete[]
  • Destructors
  • More Pointers
  • Pointers and arrays
  • Pointer arithmetic
  • Pointers as array iterators
  • Pointers and const
  • Pointers vs. references

Containers

  • Container concepts and classification
  • Template classes
  • Standard containers
  • Vector
  • List
  • Iterators
  • Template functions
  • Algorithms

Copying

  • Copy construction
  • Copy assignment
  • Compiler generated copy behaviour
  • Problems
  • Solutions
  • Reducing Copying
  • Restricting Copying

Class Relationships

  • Extension of existing classes using inheritance
  • Polymorphic behaviour
  • Type substitutability
  • Abstract base classes

Inheritance

  • Protected members
  • Substitutability
  • Scoping
  • Base class initialisation
  • Order of object construction and destruction
  • Guidelines

Polymorphism

  • Declaring and defining virtual functions
  • Virtual destructors
  • Pure virtual functions
  • Using polymorphism through pointers and references
  • Guidelines

The Way Ahead

  • Support after this course
  • Further C++ information sources
  • Appendices including C++ 11 Standard Enhancements

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

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
  • SAP logo
  • Apple logo
  • citrix logo