Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

160.  C++ Intensive for Non-C Programmers

Rev. 4.1

 

Designed for those who can't commit a separate week to learning C first, this whirlwind introduction to C and C++ offers programmers an opportunity to learn and use the most essential components of both languages in one fast-paced, integrated week of hands-on training.

 

This instructor-led course begins by introducing the built-in data types, fundamental control structures, and rich expression operator repertoire common to both C and C++. The second half of the course integrates the object-oriented features of C++ onto the basic framework of the Standard C foundation. An introduction to the use of templates and the Standard Template Library is presented en passant.

 

While this course gives an excellent introduction to the core features of C and C++, it omits certain advanced and specialized topics, including file I/O and bit-level operations.

 

This course comes with printed course notes and an extensive set of programming examples. It is designed to be taught in conjunction with the textbook C++ Primer Plus, 4th ed., which should be procured separately. The course author is available to teach this course.

 

LEARNING OBJECTIVES

 

·         Learn the fundamental syntax shared between C and C++, including: pointers, expressions, statements and control structure; declaration and definition of built-in and user-defined data types and variables; arithmetic and logical operations.

·         Become familiar with the foundations of Object-Oriented Programming: abstraction, encapsulation, inheritance, and polymorphism.

·         Learn how use C++ support for object-oriented programming, including: class declarations, constructors, inheritance, operator and function overloading, virtual functions and abstract classes.

 

Course Duration: 5 days

 

Prerequisite:

 

·         Due to the large quantity of material presented in this course, participants should have some programming experience in a high-level language such as Pascal, PL/1 or ADA.

·         Assembly language, COBOL or BASIC experience alone can be sufficient if you are a fast study, but if that's all you've got be prepared for a very challenging five days of training!

 

1.      Getting Started

Algorithms

Evolution of Programming Languages

History of C and C++

Overview of C / C++ Features

Single vs. Multi-Module Programs

 

2.      Development Tools

Windows-Based Development

The Microsoft Visual Studio IDE

Compile-time and run-time Debugging

 

3.      Elements of C/C++

The Token Stream

Expressions

Statements

Declaring Variables

Statement Blocks

Functions

Prototypes

The Preprocessor

 

4.      Data Types

Identifiers

Reserved Words

Data Definitions

Fundamental Data Types

Constant Expressions

Type Modifiers

 

5.      Operators

Arithmetic Operators

Type Conversion Rules

Type Casts

 

6.      Derived Types

Arrays

Structures

Pointers

 

7.      Loops and Relational Expressions

while

for

Increment / Decrement Operators

Relational Operators

Precedence and Associativity

String Comparison

do…while

 

8.      Conditional Testing

if, if…else

Logical Connectives

switch

break and continue

while/for Duality

 

9.      Functions

Definition Syntax

return Statement

Formal Parameters

Call by Values vs. Call by Reference

Prototypes

Header Files

Passing Pointers

Passing Arrays

const Parameters

Recursion

Inline Functions

References

Default Arguments

Function Overloading

 

10. Data Scope and Lifetime

Files vs. Block Scope

Storage Classes

Linkage

Lifetime

static Data

register Data

 

11. Objects and Classes

Object Oriented Development

Abstract Data Types

Classes

Access Specifiers

Class Definition

Class Implementation

Member Functions

Inline Member Functions

Constructors

Object Initialization

Member Initializers

Destructors

 

12. Source Files Management

Projects

 

13. Operator Overloading

How to Overload Operators

Generalized Stream I/O

Standard Conversions

Constructors as Conversions

Friend Functions

Static Member Data

 

14. Class Implementation

Generated Member Functions

The Default Constructor

Copy Constructors

Shallow vs. Deep Copy

Overloading the Assignment Operators

this

 

15. Inheritance

Class Hierarchies

The protected Access Specifier

Accessor Functions

const Member Functions

Lvalues and Rvalues

Is-A vs. Has-A Relationships

Base Initializers

Object Conversions

16. Polymorphism

Static vs. Dynamic Binding

Virtual Functions

Abstract Base Classes

Pure Virtual Functions

Multiple Inheritance

 

17. Templates and the STL

Template Functions

Template Classes

Interaction of STL Components

STL Containers

STL Iterators

STL Algorithms

 

System Requirements

 

The course can be delivered in any environment supporting a C/C++ compiler. Microsoft Visual C++ 6.0 is recommended.