BD Software delivers on-site C++ training, Unix training and Java training.

BD Software delivers on-site training seminars for programmers in C, C++, Java, Perl and Unix

On-Site Training Seminar:

C++ and Object-Oriented Programming

Details of this C++ Training

Who Should Attend:

  • Experienced software developers who want to "move up" to C++ and object oriented programming.
  • Project managers who need to understand how C++ and object oriented programming differ from traditional C programming.

Prerequisites:

Participants need not have any prior C++ experience, but should be experienced with C. (A reading knowledge is rarely sufficient.) In particular, qualified participants should be able to:

  • read and write data declarations and function prototype declarations
  • understand the interchangeability of pointer and subscripting notation
  • work with structs and pointers to structs
  • build programs from more than one source (.c) file

If you are uncertain about whether you should take this course, we suggest you take our pretest.

Format:

This course is normally taught in five full days. Excluding breaks, each day usually lasts about 6 hours. About 1/4 to 1/3 of the time is spent doing exercises.

Course Outline:

1. Introduction

    • Fundamental Design Concepts
    • Abstract Data Types
    • The "Spirit" of C++

2. Translating Object-Oriented Concepts into Practice

    • Compiling and Running C++ programs
    • "Programming in the Large"
    • Case study: Critiquing a "Large" C program
    • Encapsulation using Separate Compilation

3. Classes and Objects

    • Member Functions
    • Declaring and Using Objects
    • Partitioning Design Decisions
    • C++ Notation and Terminology
    • Access Control

4. Storage Allocation

    • Static, Automatic and Dynamic Memory
    • new and delete operators
    • Case study: Dynamic Arrays
    • Constructors and Destructors
    • Member Initializers
    • Static Data and Function Members

5. Building More Powerful Abstractions

    • Inline Functions
    • Function Name Overloading
    • const and volatile Qualifiers
    • const Member Functions
    • References as Arguments and Return Types
    • Copy Constructors

6. Language Extensibility

    • Operator Overloading
    • Case Study: Rational Numbers
    • Default Assignment Operator
    • Default Function Arguments
    • Friend Functions
    • Stream Input and Output
    • Conversion Operators

7. Inheritance

    • Reusing Classes via Membership (Aggregation or Composition)
    • Reusing Classes via Inheritance (Derivation)
    • Inheritance vs. Aggregation (Is-A vs. Has-A Relationships)

8. Scope and Access Control

    • Scope Rules
    • Nested Classes
    • Friend Classes
    • More on Access Control

9. Object-Oriented Programming Techniques

    • Static vs. Dynamic Binding
    • Polymorphism
    • Case Study: a Unix-like File System
    • Type Fields and Discriminated Unions
    • Common Interfaces Using Inheritance
    • Virtual Functions
    • Abstract Base Classes and Pure Virtual Functions
    • Pointer and Reference Conversions
    • Case Study: a Hierarchy of Geometric Shapes


Home | Courses | Tools | Resources
Clients | Successes | Contact | Site Map | Links | About Us

All text and images on this website are Copyright © 2001-2003 BD Software.
All rights reserved.


Courses:

C and C++ Seminars

Java Seminars

Unix-Related Seminars


Clients:

Otis Elevator

Lucent

Danzas AEI

(See full
client list)


BD Software delivers on-site training seminars for programmers in C, C++, Java, Perl and Unix