TRAINING
Introduction
Instructor
 
COURSES AVAILABLE
OO Analysis & Design with UML
C++ Programming
Core XML
 


Object-Oriented Programming in C++

Object-Oriented Programming in C++ provides exhaustive coverage of the ANSI standard C++ language features, with a variety of challenging practical exercises to reinforce the use of the new syntax to solve real problems, providing participants with the proper skills needed to harness the full potential of C++.

C++ is a complex language with powerful features. Proper knowledge and understanding of these features are critical in developing a robust C++ application, without falling into its many traps.

This course builds familiarity with the language by reinforcing the courseware with examples after each module. The most recent additions to the C++ standard are covered in detail (run-time type information, template, STL etc.) along with a series of do's and don'ts to make programmers more effective users of the language features. 

The Practical Exercises
The case studies are incremental, building up to a complete solution in which more than ten complex classes collaborate to deliver a final system. The final result is a model on which to base future C++ developments. The exercises are designed to encourage the use of object-orientation to develop reusable components as well as demonstrate the effective partitioning of larger systems.

Upon completion of the course, participants will have both the theoretical knowledge and practical experience to use C++ to design more maintainable and robust software systems. The course content is compatible with any C++ compiler, since it is based upon the proposed ANSI C++ standard.

  • Pre-Requisites: In order to obtain the most benefit from the course, participants should be regular programmers, fluent in C.
  • Hands-On: Each participant will be provided with a workstation for the hands-on exercises.
Course Overview

Introduction to C++: Abstraction
  • C++ syntax
  • Member Data, Functions
Classes: Encapsulation 
  • Access Control: Public & Private
  • inline, static members
  • Default values for parameters
Derived Classes: Inheritance
  • Access Control: Protected 
  • use of this, super friend
Namespaces and Nesting
  • Packaging classes 
  • Hiding implementation
Parameter Passing
  • Pass by value, pointer, reference
  • Use of const, mutable
  • Constructors
  • Type conversions - new C++ type casting mechanism
Operator Overloading 
  • Redefinition of operators
Virtual Member Functions: Polymorphism
  • Dynamic Binding vs. Static Binding 
  • Pure virtuals
Do's and Don'ts
  • Avoiding the pitfalls of C++
Advanced Streams
  • File and String Streams
  • Redefining operator << 
  • IO Manipulators
Exception Handling 
  • try, throw and catch keywords 
  • Exception handling mechanism
  • C++ standard exceptions
Genericity 
  • Template Support in C++ 
  • Template  functions, classes
  • Generic Algorithms
STL - C++ Standard Library
  • <vector> <list>
  • <map> <set>
  • <string> 
  • <iterator>
  • <deque> <queue> <stack>
  • <algorithm> <functional>
  • <numeric>
Miscellaneous Topics 
  • Multiple inheritance 
  • Runtime Type Information (RTTI)

 

 

 


  Copyright © 1999 - 2009 Elixir Technology Pte Ltd. All rights reserved.