About Elixir Technology
 
  Home >> Training >> Objected-Oriented Programming in C++ - Part 1

Object-Oriented Programming in C++ -  Part 1

Object-Oriented Programming in C++ - Part 1 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. 

C++ is a complex language with over 60 keywords. 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 (namespaces 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