Cisco, Prince2, Microsoft, ITIL & ISEB IT Training Courses – CourseMonster
To speak to a training advisor please call
Browse Microsoft Training Courses

C++: Introduction for non-C Programmers (5 day)

Course Code: CPP-NC5      Days: 5
Show all Microsoft Courses
Scheduled Dates (sort by: location | date)
Request availability or book by selecting a date:
Central London
City
London (E1) 14/06/10 £ 1,995
England
Berkshire
Wokingham (RG40) 26/04/10 £ 1,475
Wokingham (RG40) 24/05/10 £ 1,475
Wokingham (RG40) 21/06/10 £ 1,475
Prices exclude VAT.
Why do prices vary? Using CourseMonster, you search the schedules of over 100 training companies in one convenient location. Choose the city, date and price that best suits you.
No suitable dates?
I'd like a different date/location

Please click above and we will take care of the rest.

I’d like an onsite/bespoke course

Please click above and we will be happy to discuss the benefits of onsite and bespoke courses with you.

If suitable dates or locations are not available, click this link and we will arrange one for you

Course 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. This course has been classified as IT Technical Training.

Audience

Developers with solid programming experience but little or no recent C.

Delegates with extensive C experience should attend the C++ for C Programmers course instead.

Skills Gained

  • 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

Prerequisites

  • Delegates must have solid experience of another modern high-level language, including writing and using functions/procedures/subroutines
  • structured data types such as arrays, structs or records
  • an understanding of scoped variables (i.e. local vs. global data).

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

Follow On Courses

  • Object-Oriented Design for C++ Development
  • Advanced C++ Development Techniques
  • Object-Oriented Software Development
  • Object-Oriented Analysis and Design using the Unified Modelling Language
  • Windows Programming with Visual C++ and the MFC Library


How to make a booking for the CPP-NC5 course

 

CourseMonster books thousands of public training courses, classes and boot camps both in London and throughout the UK including: Berkshire, Birmingham, Bristol, Bournemouth, Bucks, Cambridge, Derby, Devon, Edinburgh, Glasgow, Hampshire, Ipswich, Leeds, Leicester, Luton, Manchester, Middlesex, Milton Keynes, Norfolk, Nottingham, Reading, Surrey, Sussex, Tyne and Wear, Midlands and Yorkshire. Topics range from software to administration and development.