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++ for Non-C Programmers

Details of this C++ Training

Who Should Attend:

  • Experienced high-level language programmers with little or no C background who are seeking a fast-track introduction to C++.

Prerequisites:

  • 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!

Format:

Five days of training, alternating between lecture and hands-on lab exercises. Students will also be encouraged to complete two or three hours of reading each evening in preparation for the next day's material.

Supplied Materials:

Each student will receive a copy of the textbook C++ Primer Plus by Stephen Prata, along with a disk containing all course examples, lab exercises and solutions.

Course Outline:

1. Getting Started

    • Evolution of Programming Languages
    • History of C and C++
    • Overview of C / C++ Features
    • Software Development
      • 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
      • Integer Constants
      • String Constants
      • Floating Point Constants
    • Type Modifiers
      • Long
      • Short
      • const

5. Operators

    • Arithmetic Operators
    • Type Conversion Rules
    • Type Casts

6. Derived Types

    • Arrays
      • Memory Layout
      • Initialization
      • Strings as char Arrays
    • Structures
      • Definition Syntax
      • Tags
      • Accessing Members
    • Pointers
      • Indirection
      • Pointer Definition
      • Pointer Indirection
      • Indirect Assignment
      • Pointers vs. Arrays
      • Dynamic Allocation
      • Structure 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

    • Function Templates
    • Class Templates
    • Interaction of STL Components
    • STL Containers
    • STL Iterators
    • STL Algorithms
    • Function Objects


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.


What
Students
Say:

"Leor was clearly extremely knowledgeable of this topic, and articulated difficult concepts very well."

"Leor obviously spent a lot of time preparing the course. He is extremely knowledgeable and well organized -- a very good instructor."

(See more
successes)


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