C++ Basics
- Programming Methods
- Object Oriented Programming
- Introduction to C++
- Variables, Datatypes, Operators
- Reference Operator
- Scope Resolution Operators
- New Structure of a C++ Program
Control Structures
- Conditional – if, if…else, Nested if…else and Switch…Case
- Loops – While, do…While, For, Nested Loops
- Jump – Goto, Continue & Break
Functions
- Introduction to a Function
- Defening a Function
- Prototypes
- Actual and Formal Arguments
- Parameter Passing Techniques
- Call by Value and Call by Reference
- Call by Pointer
- Default Arguments
- Function Overloading
- Inline Functions
Oops Concepts
- Encapsulation and Abstraction
- Polymorphism
- Static Binding
- Dynamic Binding
- Inheritance
- Message Passing
- Classes and Objects
Classes & Objects
- Class Declaration
- Access Member and Member Functions
- Creating Objects
- Class and Structure Differences
- Objects as arguments
- Returning Objects
- Static Members
- Friend Functions and Friend Classes
Constructors and Destructors
- Introduction
- Defining Constructor
- Comparing Constructor Member Function
- Constructor and Argument Constructor
- Copy Constructor
- Constructor Overloading
- Constructor Argument
- Destructor
- Defining Destructor
Operator Overloading
- Need of Overloading
- Defining Operator Overloaded Function
- Overloading Rules
- Overloading Unary Operators
- Overloading Unary Operators using Friend
- Overloading Binary Operators
- Overloading Binary Operators by using Friend
- Overloading Other Operators
Inheritance
- Introduction
- Inheritance Types
- Single Level Inheritance
- Multilevel Inheritance
- Multiple Inheritance
- Hybrid Inheritance
- Hierarchical Inheritance
- Base Class and Derived Class
- Inheritance Scope
- Protected Members
- Virtual Base Class and Virtual Destructors
Advanced Class Concepts
- Container Class & Contained Class
- Local Classes
- Inheritance v/s Containership
Virtual Functions and Polymorphism
- Type Polymorphism
- Dynamic Binding
- Function Overriding
- Difference between Function Overloading and function Overriding
- Need of Virtual Functions
- Pure Virtual Functions
Templates
- Need of Template
- Template Defining
- Function Templates and Class Templates
Exception Handling
- What is Exception?
- Need of Handling Exceptions
- Exceptions Types
- Exception Handling Mechanism
Streams
- Hierarchy of I/O Streams
- Istream Class Functions
- Ostream Class Functions and IOS Class Functions
- Manipulators
Files
- Hierarchy of File Streams
- Opening a File
- File Opening Modes
- Sequential Access Files and Random Access Files
- Command Line Arguments
Graphics
- Introduction to Graphic
- Initializing Graphic
- Graphic Drivers and Modes
- Graphic Functions
Data Structures
- Introduction
- Stacks using Arrays and Linked List
- Queues using Arrays
- Queues using Linked List
- Circular Queues
- De-Queues
- Single Linked List, Circular Linked List and Doubly Linked List
- Infix, Prefix and Postfix Expressions
- Trees
- Binary Trees and Binary Search Trees
- Directed Graphs and Undirected Graphs
- Searching Methods – BFS, DFS
- Searching Techniques – Linear, Binary
- Sorting Techniques – Bubble and Insertion
- Selection, Quick, Heap and Merge