C/C++ Training

C Course Module

Introduction to “ C ” Language
  • Data types
  • Indentation
  • If else
  • Operators
  • The “WHILE” Loop
  • The “For “ Loop
  • Nested Loop Statements
  • The “BREAK” & “CONTINUE” Statement
  • Switch case default & break
  • Bitwise operators
Functions
  • Introduction to Functions
  • Need for Functions
  • Standard & User defined Functions
  • What is header file
  • How to create our own header file
  • Difference between source file & exe file
  • How to create exe file
  • Defining & Calling Functions
  • Storage Classes
    • Automatic Storage Classes
    • Register Storage Classes
    • Static Storage Classes
    • External Storage Classes
  • Pass by Value, pass by Reference
  • Return by value & return by address
  • Recursive Functions
Pointers
  • Memory concept
  • Pointers to variable
  • Pointers to pointers
  • Pointers with operation
Arrays
  • Introduction to Arrays
  • Need for Arrays
  • Arrays with pointers
  • Arrays with functions
  • Types of Arrays
  • One Dimensional Arrays
  • Two Dimensional Arrays
  • Multi Dimensional Arrays
Strings
  • Char pointers
  • Char array (String)
  • Declaring & Initializing String Variables
  • Strings with pointers
  • Strings with functions
  • String Functions
  • Creation of our own string.h
  • Array of Strings
  • #define (preprocessing work)
Structures, Unions, Enum and typedef
  • Enum and typedef
  • Introduction to Structures
  • Defining Structures
  • Struct with pointers , arrays, strings and functions
  • Array ,strings as Structures Members
  • Containership
  • Union, Different between Structure & Union
File Operations
  • Introduction to files
  • Types of Files
  • File Pointers
  • Opening & Closing Files
  • Modifying & deleting Files
Dynamic memory allocation ( DS )
  • Purpose of dynamic memory allocation
  • Malloc , calloc ,realloc and free
  • Sorting
  • Recursion
  • Lists
  • Single linked lists
  • Double linked lists
  • Circular linked lists
  • Stacks
  • Queues
  • Adding 2 lists

C++ Course Module

1. Graduating to C++ (Beginning)

  • Oops
  • Function Prototypes
  • Comments
  • Typecasting
  • Void Pointers
  • The :: operator
  • The Const Qualifier
  • Reference variables

2. Functions

  • Function Prototypes
  • Function Overloading
  • Default Arguments in Functions
  • Call by value, address & reference
  • Return by value, by address & By reference
  • Inline Functions

3. Classes in C++

  • Member function
  • Function Definition Outside The Class
  • Classes and Constructors
  • Destructors
  • Copy Constructor
  • The this Pointer
  • New and delete Operators
  • Using new and delete
  • Malloc ( ) / free ( ) versus new/delete
  • Classes, Objects and Memory
  • Structures vs. Classes
4. Miscellaneous Class Issues
  • Static Class Data
  • Static Member Functions
  • Data Conversion
  • Friend functions & friend Classes
  • Data Conversion between Objects of Different Classes

5. Overloading operators

  • Introduction
  • Overloading assignment operator
  • Overloading ++, --, +, -, *, /,<,> …. & Logical operators
  • Overloading operators between different objects
  • Overloading << and >> (stream operators)

6. Inheritance

  • Constructors in Inheritance
  • Private Inheritance
  • Protected Inheritance
  • Functions That Are Not inherited
  • Virtual Function
    • Pure virtual functions
  • Virtual Functions in Derived Classes
  • Virtual Functions and Constructors
  • Destructors and virtual Destructors
  • Virtual Base Classes
  • Abstract class
  • Abstract base class

7. Advanced Features

  • Classes Within Classes
  • Friend Functions
  • Friend classes
  • Overloading << and >>.

8. Input / Output In C++ (File operations)

  • Manipulators
  • File I/O with Streams
  • Opening and closing files
  • Creating database with file Operation
  • Binary I/O
  • Elementary Database Management
  • Interacting with
    • Text files (ex: .txt, .c, .cpp)
    • Non-text files (ex: .dat, .mpg, .avi, .mp3)
  • Creating database with file operation

 9. New Advanced Features

  • Templates
  • Function templates
  • Class templates
  • Exception handling
  • Namespaces
  • RTTI (Runtime type information)
  • STL (Standard Template library)
  • Dynamic cast operator
  • Typeid operator
  • Typeinfo class

10. Data Structures with C++

  • Sorting
  • Recursion
  • Lists
  • Single linked lists
  • Double linked lists
  • Circular linked lists
  • Traversing of linked lists
  • Stacks
  • Queues
  • Adding 2 lists
  • Inserting a node in required position
  • Deleting a node from required position