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.
|