C ++ PROGRAMMING – GTPL11

Course Description

C++ is the object oriented superset of ANSI C. This course provides students with a comprehensive study of the C++ Programming Language. The course stresses the object paradigm including classes, inheritance, virtual functions, and templates in the development of C++ programs. Lab exercises reinforce the lectures.

^^

Duration

5 days

^^

Target Audience

Anybody who has the need to write programs in the C++ language including programmers, engineers, scientists, or other technical support personnel will benefit from this course.

^^

Course Prerequisites

Students should have taken the Software Development for Non-Programmers and Introduction to C courses or have equivalent knowledge. These skills are also taught in the following courses:

If you have any questions or doubts as to whether you meet the pre-requisites for this course, or indeed are wondering which course best suits you, please consult with us to discuss your suitability for course attendance.

^^

Suggested Follow on Courses

Please contact us for further details.

^^

Course Content

Chapter 1: Perspective

The Software Crisis

Design Techniques

Large Software Systems

Roots of Object Technology

What Is Object-Oriented Programming?

C++ and Object-Oriented Programming

Why C++?

Features of C++

Pros and Cons of C++

 

Chapter 2: The Language of Object-Orientation

What Is an Object?

What Is a Class?

Encapsulation

Data Hiding

The Public Interface

Relationships Among Classes

Inheritance

Polymorphism

Object-Oriented Design

 

Chapter 3: C vs. C++

Comments

Namespaces

Simple Output

Simple Input

Definitions Near to First Use

Function Prototypes

The inline Specifier

const

Structure Members

The Reference Type

Overloading Function Names

Default Parameters

The Scope Resolution Operator

Aggregates

Operators new and delete

The bool Data Type

The string Data Type

 

Chapter 4: Fundamentals of Classes

Data Types

User Defined Data Types

Using the Class Concept

Defining a Class

public and private Access Levels

The Scope Resolution Operator ::

Using Class Objects Like Built-in Types

Scope

Constructors

Member Initialization Lists

Destructors

Array of Objects

Pointers

The this Pointer

Passing Objects to Functions

Returning Objects From Functions

static Class Members

 

Chapter 5: Operator Overloading

Introduction

Rules for Operator Overloading

Rationale for Operator Overloading

Overloading Member Functions

Overloading Non-Member Functions

friend Functions

The Copy Constructor

The Assignment Operator

Overloading [ ]

Overloading Increment and Decrement Operators

const Objects and References

 

Chapter 6: Composition of Classes

Relationships

Composition of Classes

The Point Class

The Line Class

Member Initialization Lists

An Application With Composition

The Copy Constructor under Composition

operator= under Composition

 

Chapter 7: Inheritance

Introduction

Public Base Classes

The protected Access Level

Member Initialization Lists

What Isn’t Inherited

Assignments Between Base and Derived Objects

Compile-Time vs. Run-Time Binding

virtual Functions

Polymorphism

virtual Destructors

Pure virtual Functions

Abstract Base Classes

An Extended Inheritance Example

 

Chapter 8: I/O in C++

The iostream Library

Predefined Streams

Overloading operator<<

Overloading operator>>

Manipulators

Stream States

Formatted I/O

Disk Files

Reading and Writing Objects

 

Chapter 9: Advanced Topics

Template Functions

Template Classes

Multiple Inheritance

User-Defined Conversions

Data Structures

An Iterator Class

Exceptions

 

Chapter 10: Introduction to the Standard Template Library

Introduction

The Standard Template Library

Design Goals

STL Components

Iterators

Example: vector

Example: list

Example: set

Example: map

Example: find

Example: merge

Example: accumulate

Function Objects

Adaptors

 

Also Discussed:

Introduction

Background

Environmental Considerations

A Sample C Program

Variables and Data Types

Arrays

Example of a Program Using an int Array

Components of a C Program

C Operators

Examples of the Operators

Control Structures

Functions

Function Prototypes

Simple I/O

More I/O in C

The printf Function

The scanf Function

The Preprocessor

Conditional Compilation

Avoiding Multiple Inclusion for the Same File

Aggregates in C

Data Types Revisited

Aggregate Types

Arrays

Structures

Structures and Functions

Bit Fields

Enumeration Types

Pointers in C

Fundamental Concepts

Pointer Operations

Using Pointers to Alter a Function Argument

Using Pointers for Array Traversal

Pointer Arithmetic

Sending an Array to a Function

Command Line Arguments

Pointers vs. Arrays

Sending an Aggregate to a Function

Summary of the Uses of Pointers

^^

See more Programming Languages courses