Axian Software Consulting and Training

C++ Programming Language

 

Call 644-6106, ext. 107

or

e-mail

for course registration or more information

 

 

Overview

C++ is designed to teach the concepts of object-oriented design and implementation by examining abstract types, encapsulation, polymorphism, and inheritance. In addition, the C++ programming language will be presented as a tool to produce object-oriented programs.
 
Upon completion of the course, students should be able to decompose basic programming problems by identifying the fundamental objects within the simulation, assigning relationship responsibilities, and testing for robustness. Students will be able to implement their designs in C++ by using the essential features of the language including:
 
  • the definition of classes, methods, and member objects
  • class instantiation and the proper construction and destruction of objects
  • overloading functions, methods, and operators
  • object-oriented memory management
  • deriving new classes from existing ones
  • polymorphic messages and standard conversions under inheritance
  • template functions and classes

 

Course prerequisites

To understand the lectures:  Reading knowledge of C.
To complete the lab exercises:  C language proficiency.
 

Course outline

Messages and Methods

Classes and Instances

Inheritance and Reusability

Polymorphism & Method Binding

Identifying Objects, Assigning Responsibilities & Designing From Scenarios

CRCD Cards

Implementation Techniques

Commonality & Discovering Inheritance

Defining Classes & Methods

Comments, Function Prototypes, & Stronger Type Checking

Constant Types

Enumeration Types

Omitting struct, union, and enum Keywords

Visual C++ Projects and Editing

Local Declarations

A First Look At Input And Output

Reference Types

Variables, Arguments, and Return Values

Changing Project Files in Visual C++

Inline Functions

Default Initializers

Function Overloading

Introduction to Debugging in Visual C++

Template Functions

"C" Language Calls and Type-Safe Linkage

Visual C++ On-line Help

Free Store Allocation

Scope Resolution Operator

Classes

Definition

Member Objects

Member Functions ("Methods")

Information Hiding (Private & Public)

Instantiation

const Member Functions

The this Pointer

Friends To A Class

Static Members & Static Member Functions

Class Scope

Nested And Local Classes

Constructors and Initialization

Destructors

Arrays of Class Objects*

Instantiating and Initializing

Member Objects and Initialization

Operator Overloading

Member/Non-Member Definition

Operators [], ++, --, <<, etc.

Member-wise Operators

Copy Constructors

Member-wise Assignment

User-Defined Conversions

Single Argument Constructors

Cast Operators

Inheritance

Class Hierarchies

Derivation Specification

Public/Protected/Private Base Classes

Standard Conversions

Inheriting Operator Functions

Initialization And Assignment

Dynamic Binding

Virtual Functions

Virtual Destructors

Virtual Base Classes

Declaring

Initializing

I/O Library

Review Overloading << And >>

Additional I/O Operators

Creating Manipulators

File I/O

In-core Formatting

Class Member Pointers

Template Classes

Introduction

Definition

Structured Exception Handling

try Blocks

catch Handlers

throw Expressions

Warnings, Reflections, and Speculation