Programming with C++

Duration: 5 Days

Training Fee: RM 5,000.00

HRDF Claimable

About this course

This course focuses on features of the language and standard library that enforce good practice and encourage clear and robust code. This practical course is 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 outline.

Prerequisite

  • Experience or some background in a modern programming environment, for instance on mainframe systems
  • Experience or some background in Java or C#

You will learn how to:

At the end of this course you will be able 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 behavior

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

Training Methods

Public Class Training

Private Class Training

In-House Class Training

Public Class Schedule
14-18 Jan 19
15-19 Apr 19
15-19 Jul 19
14-18 Oct 19

Please contact us if you need more information about Private or In-House Class Training – click here

Register Here

  • Public Class Training

  • Date Format: DD slash MM slash YYYY
  • Date Format: DD slash MM slash YYYY
  • Your Information

  • Participant List

  • NameContact NumberDesignation 

Any Questions?

  • Contact Us

Call Us : 03-21165778

WhatsApp WhatsApp us