C ++ for NON C PROGRAMMERS – GTPL12

Course Description

This course provides students with a comprehensive study of the C++ programming language while teaching those parts of C relevant to C++. Classroom lectures are supplemented with many hands-on exercises, which stress the following C++ topics: data abstraction, class design, operator overloading, inheritance, polymorphism and I/O.

^^

Duration

5 days

^^

Target Audience

This course is designed primarily for those Cobol, Pascal, and Fortran programmers who wish to learn C+ without having to partake in a prior C Language programming course.

^^

Course Prerequisites

Experience with a programming language or an assembly language is required.

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

^^

Course Content

Chapter 1: Introduction

Background

Environmental considerations

A Sample C program

Variables and data types

Arrays

Components of a C program

C operators

Control structures

Functions

Function prototypes

Simple I/O

 

Chapter 2: More I/O In C

The printf function

The scanf function

The preprocessor

Conditional compilation

Avoiding multiple inclusions for the same file

 

Chapter 3: Aggregates In C

Data types revisited

Aggregate types

Arrays

Structures

Structures and functions

Bit fields

Enumeration types

 

Chapter 4: 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

Pointers vs arrays

Sending an aggregate to a function

Summary of the uses of pointers

 

Chapter 5: Perspective

The software crisis

Building software has been difficult

Design techniques

Large Software Systems

Roots of Object Orientation

What is OO programming?

C++ and OO programming

Why C++?

Features of C++

Pros and Cons of C++

 

Chapter 6: 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 7: C vs C++

Comments

Namespaces

Performing Simple Output

Performing Simple Input

Definitions near to first Use

Function prototypes

The inline specifier

const

Structure Members

The reference type

Overloading function names

Default parameters

Scope resolution operator

Aggregates

Operators new and delete

The bool Data Type

The string Data Type

 

Chapter 8: Fundamentals Of Classes

Data types

Abstract data types

Using the class concept

How to define a class

public and private access levels

Using class objects like a built in type

scope

scope resolution operator

Constructors

Member Initialization Lists

Destructors

Array of Objects

Pointers

The this pointer

Passing Objects to Functions

Returning Objects from Functions

Static class members

 

Chapter 9: Operator Overloading

Introduction

Rules for Operator Overloading

Rationale for Operator Overloading

Overloading Member Functions

Overloading Non-Member Functions

friend functions

The Copy Constructor

Overloading the Assignment Operator

Overloading [ ]

Overloading increment and decrement operators

const Objects & const references

 

Chapter 10: Composition Of Classes

Relationships

Composition of Classes

The Point class

The Line class

Member Initialization Lists

An Application w/ composition

The Copy Constructor under Composition

Operator= under Composition

 

Chapter 11: Inheritance

Introduction

Inheritance public base classes

Inheritance w/ public base classes

Member Initialization Lists

What isn’t inherited

Assignments between base and derived Objects

Compile Time Binding vs. Run Time Binding

virtual functions

Polymorphism

virtual destructors

Pure virtual functions

Abstract base classes

An extended inheritance example

 

Chapter 12: I/O In C++

The iostream library

Pre-defined streams

operator<<

Overloading << for User-Defined Classes

Overloading >> for User-Defined Classes

Manipulators

Stream states

Formatted i/o

Disk files

Internal transmission of data

Reading & Writing Objects

 

Chapter 13: Advanced Topics

Template Functions

Template Classes

Multiple Inheritance

User-Defined Conversions

Data Structures

Iterators

Exceptions

^^

See more Programming Languages courses