Unit–1: Introduction to C++, C++ Standard Library, Basics of a Typical C++ Environment, Pre-processors Directives, Illustrative Simple C++ Programs. Header Files and Namespaces, library files. Concept of objects, basic of object modeling, object classes, associations, behaviors, description, Object Oriented Analysis & Object Modeling techniques,
Object Oriented Concepts: Introduction to Objects and Object Oriented Programming, Encapsulation (Information Hiding), Access Modifiers: Controlling access to a class, method, or variable (public, protected, private, package), Other Modifiers, Polymorphism: Overloading, Inheritance, Overriding Methods, Abstract Classes, Reusability, Class’s Behaviors.
Classes and Data Abstraction: Introduction, Structure Definitions, Accessing Members of Structures, Class Scope and Accessing Class Members, Separating Interface from Implementation, Controlling Access Function and Utility Functions, Initializing Class Objects: Constructors, Using Default Arguments With Constructors, Using Destructors, Classes : Const(Constant) Object And Const Member Functions, Object as Member of Classes, Friend Function and Friend Classes, Using This Pointer, Dynamic Memory Allocation with New and Delete, Static Class Members, Container Classes And Integrators, Proxy Classes, Function overloading.
Unit-2: Operator Overloading: Introduction, Fundamentals of Operator Overloading, Restrictions On Operators Overloading, Operator Functions as Class Members vs. as Friend Functions, Overloading, <<, >> Overloading Unary Operators, Overloading Binary Operators.
Inheritance: Introduction, Inheritance: Base Classes And Derived Classes, Protected Members, Casting Base- Class Pointers to Derived- Class Pointers, Using Member Functions, Overriding Base –Class Members in a Derived Class, Public, Protected and Private Inheritance, Using Constructors and Destructors in derived Classes, Implicit Derived – Class Object To Base- Class Object Conversion, Composition Vs. Inheritance.
Unit–3: Virtual Functions and Polymorphism: Introduction to Virtual Functions, Abstract Base Classes and Concrete Classes, Polymorphism, New Classes and Dynamic Binding, Virtual Destructors, Polymorphism, Dynamic Binding.
Files and I/O Streams: Files and Streams, Creating a Sequential Access File, Reading Data From A Sequential Access File, Updating Sequential Access Files, Random Access Files, Creating A Random Access File, Writing Data Randomly To a Random Access File, Reading Data Sequentially from a Random Access File. Stream Input/Output Classes and Objects, Stream Output, Stream Input, Unformatted I/O (with read and write), Stream Manipulators, Stream Format States, Stream Error States.
Unit-4: Templates & Exception Handling: Function Templates, Overloading Template Functions, Class Template, Class Templates and Non-Type Parameters, Templates and Inheritance, Templates and Friends, Templates and Static Members. Introduction, Basics of C++ Exception Handling: Try Throw, Catch, Throwing an Exception, Catching an Exception, Re-throwing an Exception, Exception specifications, Processing Unexpected Exceptions, Stack Unwinding, Constructors, Destructors and Exception Handling, Exceptions and Inheritance.
Data Structure Outline
- Unit 0: Orientation
- Unit 1: Introduction
- Unit 2: Array-Based Lists
- Unit 3: Linked Lists
- Unit 4: Skiplists
- Unit 5: Hash Tables
- Unit 6: Recursion
- Unit 7: Binary Trees
- Unit 8: Scapegoat Trees
- Unit 9: Red–Black Trees
- Unit 10: Heaps
- Unit 11:Sorting Algorithms
- Unit 12: Graphs
- Unit 13: Binary Trie