Object Oriented Programming Using C++

This training is designed for professionals who wants to upgrade or switch their career to the
world of Object-Oriented Programming or even for freshers who wants to have in depth
knowledge about C++. This training offers in depth coverage of building a system using
Object Oriented Approach. At the same time, it even offers basics to advanced programming
skills in C++ which can even help the candidate upgrade easily to other Object-
Oriented programming languages like Java.
Pre-Requisite Knowledge of Basic C Programming Course Outline
Section 1 – Getting Started
1. Introduction to Object Oriented Programming
a. Why are we shifting to the world of Objects?
b. What is an object
c. Design Steps Involved in Object Oriented Programming
i. Abstraction
ii. Separation
iii. Establishing Relationships
2. Introduction to C++
Section 2 – Procedural Approach in C++
1. Namespaces
a. What are namespaces?
b. Using directives
c. Using declarations
d. Namespace aliases
2. Functions
a. Functions and Function call mechanism
b. Default Arguments
c. Passing techniques
i. Pass by Value
ii. Pass by Address
iii. Call by Reference
d. Inline FunctionsSection
3 – Compile time Polymorphic Programming: Function Overloading
1. What is Polymorphism?
a. Compile time Polymorphism
b. Run Time polymorphism
2. Function overloading
Section 4 – Object Oriented Programming in C++
1. Classes and Objects
a. C Structures vs C++ Structures
b. C++ Structures vs C++ Classes
c. Creations of classes and objects
d. Access Specifiers
e. Data’s and Methods in classes
f. “this” pointer
g. Abstraction and Separation using C++ Classes
2. Constructors
a. What is a constructor?
b. Why do we need constructors?
c. Types of constructors
d. Constructor Working Mechanism
e. Usage of zero argument and parameterized constructors
3. Dynamic Memory Allocation
a. C allocation techniques vs C++ allocation techniques
b. Resource allocation for objects
c. Memory allocation of objects
d. Exception raise by new
4. Destructors
a. Use of destructors
b. Default member functions provided by the class
5. Copy Constructors
a. Shallow copy vs Deep copy
b. Role of copy constructors
c. Initialization vs Assignment
6. Statics and Constants
a. Static data members and function members
b. Constant data members and function members
c. Mutable members
d. Singleton objectsSection
5 – Exception Handling
1. Exception handling
a. Try
b. Catch
c. Throw
d. Standard exceptions
i. Handling standard exceptions
ii. Handling bad_alloc
Section 6 – Compile Time Polymorphic Programming: Operator Overloading
1. Operator overloading
a. Binary operator overloading using member functions
b. Binary operator overloading using global functions
c. Role of friend functions and classes
d. Unary operator overloading using member functions
e. Unary operator overloading using global functions
f. I/O operator overloading
g. Operators which cannot be overloaded
Section 7 – Relationships in Object Oriented Programming
1. Association, Aggregation and Dependency
2. Inheritance
a. Generalization or Inheritance
i.
Is a relationship
ii.
Protected access specifier
3. Types of Inheritance
a. Single
b. Multilevel
c. Multiple
d. Hierarchical
e. Hybrid inheritance
i.Death of diamond: Use of virtual keyword in hybrid inheritance
Section 8 – Run Time Polymorphic Programming
1. Function overriding
a. Function overloading vs Function overriding
b. Object Slicing
2. Run time polymorphism
a. Problems associated with compile time polymorphism
b. Need of virtual keyword
c. Virtual class implementation
3. Abstract classesSection
9 – Generic Programming Techniques
1. What is Generic Programming?
a. Template classes
b. Template functions
2. Standard Template Library
a. Containers, Iterators, Algorithms
b. Vector, List, Maps
Section 10 – RTTI
1. Run Time Type Identification
a. Why RTTI?
b. “Typeid” operator
c. Casting operators
i. Use of casting operators
ii. Type of casting operators
• Dynamic_cast
• Static_Cast
• Reinterpret_Cast
• Const_Cast
Section 11 – File handling
1. What is a File?
2. Sequential vs Random File Access
3. File handling functions in C++
a. Open
b. Read
c. Write
d. Close
4. Random seeking through the file
Course Features
- Lectures 0
- Quizzes 0
- Duration 25 hours
- Skill level All levels
- Language English
- Students 0
- Assessments Self