C++

Advanced C++ Programming

Course Outline
  1. Brief: Overview of C++
    • Overview of STL Components
    • Containers
    • Generic Algorithms
    • Iterators
    • Function Objects
  2. Iterators
    • Input Iterators
    • Output Iterators
    • Forward Iterators
    • Bi-directional Iterators
    • Random Access Iterators
    • Constant Versus Mutable Iterator Types
    • Iterator Categories Provided by STL Containers
  3. Generic Algorithms
    • Sorting-Related Algorithms
  4. Sequence Containers
    • Vectors
    • Deques
    • Lists
  5. Function Objects

Duration: 32 Hours
Course Fee: INR. 80,000 + Tax


C++ Programming

Course Outline
  1. C++ Overview
    • C++ Characteristics
    • Object-Oriented Terminology
    • Polymorphism
    • Object-Oriented Paradigm
    • Abstract Data Types
    • I/O Services
    • Standard Template Library
    • Standards Compliance
  2. Functions and Variables
    • Functions: Declaration and Definition
    • Variables: Definition, Declaration and Scope
    • Variables: Dynamic Creation and Derived Data
    • Arrays and Strings in C++
    • Qualifiers
  3. Classes in C++
    • Defining Classes in C++
    • Classes and Encapsulation
    • Member Functions
    • Instantiating and Using Classes
    • Using Constructors
    • Multiple Constructors and Initialization Lists
    • Using Destructors to Destroy Instances
    • Friendship
  4. Operator Overloading
    • Operator Overloading
    • Working with Overloaded Operator Methods
  5. Initialization and Assignment
    • Initialization vs. Assignment
    • The Copy Constructor
    • Assigning Values
    • Specialized Constructors and Methods
    • Constant and Static Class Members
  6. Storage Management
    • Memory Allocation
    • Dynamic Allocation: new and delete
  7. Inheritance
    • Overview of Inheritance
    • Defining Base and Derived Classes
    • Constructor and Destructor Calls
  8. Polymorphism
    • Overview of Polymorphism
  9. Input and Output in C++ Programs
    • Standard Streams
    • Manipulators
    • Unformatted Input and Output
    • File Input and Output
  10. Exceptions
    • Exceptions
    • Inheritance and Exceptions
    • Exception Hierarchies
    • Inside an Exception Handler
  11. Templates
    • Template Overview
    • Customizing a Templated Method
    • Standard Template Library Containers

Duration: 40 Hours
Course Fee: INR. 40,000 + Tax


Intermediate C++ Programming

Course Outline
  1. C++ Refresher / Optional
    • Pointers
    • Composite Data Types
    • OOP Concepts
    • C++ Keywords
    • Introductory Concepts
    • Input / Output
    • Function Overloading
    • The Class
    • References
    • Operator Overloading
    • Inheritance
  2. Classes
    • Definition
    • Member Functions
    • The “this” Pointer
    • Static Members
    • Scope
    • Nested Classes
    • Initialization
    • Construction
    • Destruction
    • Memberwise Assignment
  3. Operator Overloading
    • Definition
    • Friend functions
    • Operator=
    • Operator[]
    • Operator()
    • Operator->
    • Other overloaded operators
  4. Templates
    • Function
    • Review
    • Class
    • Definition
    • Instantiation
    • Member Functions
    • Friend Declarations
    • Specializations
  5. Inheritance
    • Defining a Class Hierarchy
    • Base Class Member Access
    • Base and Derived Class Construction
    • Base and Derived Class Virtual Functions
    • Multiple Inheritance
    • Public, Private, and Protected Inheritance
    • Virtual Inheritance
  6. Input / Output
    • Input / Output – iostream
    • The Output Operator <<
    • The Input Operator >>
    • Overloading the Output Operator <<
    • Overloading the Input Operator >>File Input and Output

Duration: 40 Hours
Course Fee: INR. 50,000 + Tax


Introduction to C++ Programming

Course Outline
  1. Why Object-Oriented Programming?
  2. A Review of C Programming
  3. Using C++ as a “Better C”
  4. Types, Functions, and Structures
  5. Data Protection via Classes
  6. Function Overloading and Typesafe Linkage
  7. Constructors and Destructors
  8. Introduction to Object-Oriented Design
  9. Derived Classes and Inheritance
  10. Concepts of Container Classes
  11. Friendship Among Classes
  12. Multiple Inheritance
  13. Virtual Functions (and Pure Virtual Functions)
  14. static Class Members
  15. Implementation Hiding of C++ Classes
  16. Operator Overloading

Duration: 32 Hours
Course Fee: INR. 30,000 + Tax


Mastering C++ Programming with Advanced Topics

Course Outline
  1. Why Object-Oriented Programming?
  2. A Review of C++ and Classes (Optional)
    • Nested Classes
    • const and static Members
    • The mutable Keyword (likely a new topic for many students)
    • explicit constructors (likely a new topic for many students)
    • Pointers to Members (likely a new topic for many students)
  3. Hidden Class Details
  4. Resolution of Overloaded Functions
  5. Operator Overloading in Detail
  6. Streams-based File I/O
  7. Multiple Inheritance and Virtual Base Classes
  8. Protected Methods: The Good and the Bad
  9. New-style Casts
  10. Template Classes and Functions
  11. Exception Handling
  12. Run-time Type Identification
  13. Namespaces

Duration: 32 Hours
Course Fee: INR. 1,00,000 + Tax


Programming in Object Oriented C++ for C Programmers

Course Outline
  1. INTRODUCTION
    • Features of C++
    • History and Origin of C++
    • Advantages of C++
    • C++ Compilation Process
  2. C++ vs.C
    • Compatibility between C and C++ B.Comments and Readability
    • C++ Keywords and Modifiers D.Variable Declarations in C++ E.Derived Data Types
    • Operator Precedence and Associativity
    • Scope/Global Operator (::)
    • Namespaces
    • Input/Output Streams
  3. FUNCTIONS
    • Function Definition
    • Function Declaration
    • Reference Parameters
    • Default Argument Values
    • Function Overloading
    • Inline Functions
    • Type Safe Linkage
    • Name Mangling
    • Combining C and C++ Functions
  4. OBJECT ORIENTED CONCEPTS
    • Features of Object Oriented Languages
    • Procedural vs. Object Oriented
    • Data Abstraction
    • Encapsulation
    • Inheritance
    • Polymorphism
    • Effects of OO Approach
    • Basic OO Design (CRC Cards)
  5. CLASSES AND ENCAPSULATION
    • Definition of Class
    • Class Syntax
    • Class Data Members
    • Class Member Functions
    • Internal
    • External
    • Private vs. Public Members
  6. CONSTRUCTORS & DESTRUCTORS
    • Class Constructors
    • Class Destructors
    • Dynamic Memory Allocation
    • Pointers to Classes
    • this Pointer
    • Function and Class Friends
    • Copy Constructors
    • Avoiding Memory Leaks
  7. I/O STREAMS
    • Standard I/O Streams
    • Reading Input with cin
    • Writing Output with cout
    • Writing Errors with cerr
    • Other I/O Class Member Functions
    • Manipulators
    • Simple File I/O
  8. OVERLOADING OPERATORS
    • Overloading Operators
    • Operator Overloading Rules and Restrictions
    • Valid Overloaded Operators
    • Overloading Binary Operators
    • Overloading Unary Operators
    • Overloading Operators Having Side Effects
    • Overloading Assignment Operator
    • Overloading ++ and — Operators
    • Overloading Type Cast (conversion) Operator
    • Friend Operator Functions
    • Non-Member Operator Functions
  9. CONSTANTS, SCOPE, & LINKAGE
    • Named Constants
    • Pointers and Constants
    • References and Constants
    • Functions and Constants
    • Constant Member Functions
    • Scope and Storage Class
    • Linkage
    • static Class Members
  10. X.INHERITANCE
    • Software Reusability
    • Inheritance – Concept and Terminology
    • Inheritance Syntax
    • Uses and Advantages
    • Base and Derived Classes
    • Class Access Specifiers
    • Single Inheritance
    • Multiple Inheritance
    • Constructors and Destructors
    • Containment
  11. POLYMORPHISM AND DYNAMIC BINDING
    • Polymorphism Definition
    • Types of Binding
    • Virtual Functions
    • Rules for Dynamic Binding
    • Pure Virtual Functions and Abstract Classes
  12. ERROR AND EXCEPTION HANDLING
    • Exception Handling Model
    • Exception Handling Keywords
    • Generating Exceptions
    • Handling Exceptions
    • Creating Exception Classes
    • Catching or Passing Exceptions
  13. CLASS AND FUNCTION TEMPLATES (OPTIONAL)
    • Template Definition
    • Template Container Class
    • Global Function Templates
    • Advanced Template Topics

Duration: 40 Hours
Course Fee: INR. 80,000 + Tax