C++ Programming for Java and C++ Developers

  • Duration: 4 days
  • Our price: from £3,320 per person

Course overview:

C++ is undoubtedly one of the most popular programming languages for software development. It brings language enhancements and object-oriented programming support to the extremely popular language C . However, C++ is a large and sometimes difficult language, and even with a Java or C# background, a programmer needs to understand C++ programming style as well as C++ constructs to get the best out of it. This 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.

Pre-Requisites:

Java or C# Developers wishing to learn or improve in C++ .
Delegates must have solid experience of Java or C# including data types (i.e. class and struct(C#)); Methods, use of call by value and call by reference; Multiple source file projects (requiring project files or equivalent); a solid appreciation of object-oriented principles is assumed.
Delegates with less than four months or no recent experience of Java or C# should attend the C Programming course instead.
C programmers have a choice. If they have a background or sound academic knowledge of OO then this course should suffice. If they have no appreciation of OO then they should attend the C Programming course.

Training Course Overview/Content:

Course Introduction

Course Prerequisites
Course Objectives
Course Delivery
Course Practical's
Course Structure
C++ Quick Start

Review of OOP principles
Key features of C
Hello World Program
Fundamental and User-Defined Data Types

Built-in types
Defining constants
Type conversions
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
Functions

Declaring, calling and defining functions
Overloading
Pass by copy and reference
Default and anonymous arguments
Inline functions
Storage Class
Encapsulation

Class Definition and Implementation
Member functions
File organisation
Defining and Initialising Objects
Scope, Statics and Nesting
Pointers

Concepts and syntax
Pointers to scalar and structured types
Null pointers
Pointers for encapsulated objects
Pointers vs. references
Object Lifetime

Object storage, lifetime and scope
operators new and delete
Construction
Destruction
Dynamic arrays
Efficiency and Integrity Issues

Enumerations
Const declarations
Const member functions
Const member data
Inline function mechanism
Reference variables
Exception Handling

Classifying and handling exceptions
Catching and throwing exceptions
The standard exception class hierarchy
Uncaught exceptions
Strategies for handling exceptions
Operator Functions

Operator implementation
Global operators
Subscript operators
Input operators
Output operators
Member operators
Increment and Decrement operators
Guidelines
Copying and Conversions

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

Composition
Scoping and initialisation
Order of construction
Member Initialisation lists
Association
Custody and lifetime
Constant associations
Containers, Templates and Iterators

Organising collections of objects
Template classes
vector, list, set and map
Iterators
Template functions
Algorithms
Inheritance and Polymorphism

Inheritance of Implementation
Notation, syntax, terminology
Scoping and initialisation
Abstract base classes
Interfaces
Inheritance of Interface
Multiple Inheritance
Substitutability
Polymorphism
Destruction issues
Guidelines
The Way Ahead

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


For in-house Microsoft training enquiries please contact us directly or visit our in-house training section.

This course is running at the following venues:

3rd Floor, International House, London, E1W 1UN

Can’t find your perfect course? Contact us for help