OOPSC++ Programming-eACT-v1.0

Embed Size (px)

Citation preview

  • 8/7/2019 OOPSC++ Programming-eACT-v1.0

    1/6

    OOPS & C++ 4 Days Training Workshop

    The OOPS and C++ Training Workshop provides engineers with a fast way to acquire theknowledge necessary to develop applications with C++ rich features!

    Course Format

    Our 4-day instructor-led courses consist of lectures and hands-on lab sessions.

    Candidates gain hands-on experience and receive personal guidance from expert

    Trainer

    Candidates examine details of the C++ environment, focusing on the most commonly

    used areas.

    Prerequisites

    C programming knowledge is handy though people can start with Basic understanding of operating systems

    Functional knowledge of UNIX or Windows OS

    Lab Environment

    OS: WINDOWS/LINUX

    Compiler: MSVC++ 6.0 or higher / GNU tool chains

    TOPICS

    The C++ Language Basics

    Approaching OOPs and implementation

    Classes and Objects

    Constructors and Destructors

    Friend

    Operator overloading

    Inheritance

    Runtime Polymorphism, Virtual Functions & Dynamic Binding

    Exception Handling

    Templates

    Design of STL

  • 8/7/2019 OOPSC++ Programming-eACT-v1.0

    2/6

    Contents:

    The C++ Language Basics

    A quick contrast on features of C++ & C

    A simple C++ program

    A C++ build Phase

    Exploring GNU Tool chains for debugging skills

    Cascading of I/O operators

    Type compatibility

    Scope resolution operator

    Pointers and arrays

    Const qualifiers with pointers

    Storage classes

    Memory Allocation

    new

    delete

    Functions in C++

    Strict prototyping

    Inline functions

    Default arguments

    Return by reference

    Function overloading

    Pass by value, address and reference

    Approaching OOPs & design of C++

    Identifying and Representing Objects

    OOPS features

    Classes & objectsInstance and methods, message passing

    Encapsulation

    Polymorphisms

    Inheritances

    Abstraction

    Classes and Objects

  • 8/7/2019 OOPSC++ Programming-eACT-v1.0

    3/6

    Class declaration & object mechanism

    Access specifiers

    Separating interface from implementation

    Inline member functions

    Nested member functions

    Memory allocation for objects

    Objects & references

    Constructors and Destructors

    Definition & declaration

    Characteristics of constructors

    Overloaded constructors

    Copy constructor

    Destructors

    Dynamic constructors

    Array of objects

    Use of constructors

    Constructors and Destructors

    Managing the heap

    Constructors & Destructors internal behaviour

    Passing objects

    Objects & references

    Copy constructor

    Overloading copy constructor

    Objects & references

    Copy constructor

    Overloading copy constructor

    Returning objects

    Returning object references

    Passing & returning pointers to objects

    Class members

    Static data members

    Static member functions

    A discussion on static members

    Singleton pattern

    Static members of a class

  • 8/7/2019 OOPSC++ Programming-eACT-v1.0

    4/6

    Friend

    Object communication

    Friend functions

    Friend classes

    Const objects and const member functions

    Object composition & destruction mechanism

    Boundary classes & object interfaces

    Operator Overloading

    The operator function

    Operators that cannot be overloaded

    Overloading unary operators

    Overloading Binary operators

    Using member functions & friend functions when to use what

    Interpreting the operator function call

    Function overloading the operator function

    The assignment operator

    Implicit overloading mechanism

    Explicit overloading mechanism

    Returning objects & assignment operator

    Overloading >> & , operator comma (,)

    Inheritance

    The inheritance mechanism

    Types of inheritance

    Single level, multi level, multiple, hierarchical, hybrid

    Inheritance is it allocation or accessibility

    The protected access specifier

    Inheritance in private, protected & public mode

    Constructors & destructors in a derived class

    Multiple inheritance

  • 8/7/2019 OOPSC++ Programming-eACT-v1.0

    5/6

    Virtual Base class

    Invoking base class constructors

    Why a constructor is not inherited

    Is-a & Has-a relationship

    Nested classes & Containership

    Runtime Polymorphism, Virtual Functions & Dynamic Binding

    Pointers & Classes

    Pointers to Class Members

    Method overriding

    Base class pointers & derived class objects

    Virtual functions

    Virtual functions & base class pointers

    Virtual functions & base class reference

    Dynamic Binding v/s Early Binding

    Pure virtual functions

    Virtual destructors

    Abstract classes & applications

    Runtime Type Identification & Casting Operators

    RTTI

    Runtime Polymorphism & RTTI

    typeid & type_info

    Application illustration using

    Base class pointer

    Passing pointers to functions

    Function receiving references

    Factory methods & RTTI

    Template classes & RTTI

    The Casting operators

    dynamic_cast

    const_cast

    static_cast

  • 8/7/2019 OOPSC++ Programming-eACT-v1.0

    6/6

    reinterpret_cast

    Exception Handling

    Exception handling fundamentals

    try, catch & throw

    Using multiple catch

    The catch all exception handler

    Nested try blocks

    Rethrowing an exception & overruling a functions return value

    Restricting Exceptions the throw list

    Handling derived class exceptions

    Setting the terminate and unexpected handlers

    Application of Exception handling

    Templates

    Generic functions & Data abstraction

    Function templates

    Explicitly specializing a function template

    Overloading Function Template

    Using standard parameters

    A Generic Sort algorithm

    Generic Classes (Class template)

    Using more than one generic type

    Using non-type arguments & default arguments

    Explicit Specializations

    Applications of templates - a Stack template

    Template template parameter

    Design of STL

    Techniques of Usage

    Note: This is a generic content & can be customized for individual needs!