Object Oriented Programming Using C++ for Non C Programmers (Instructor Led Live Training)
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
Basic Computer Awareness
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 – Basic C++ Programming
1. Basic Program Construct in C++
2. Usage of cout and cin
3. Tokens in C++
a. Constants
b. Identifiers
c. Keywords
d. Operators
e. Separators
4. Built-in Data types in C++
5. Memory layout of a C++ programs
6. Storage classes in C++
7. Control Statements
a. Selections control statements
b. Iteration Control Statements
c. Jump Control Statements
Section 3 – Procedural Approach in C++
1. Namespaces
a. What are namespaces?
b. Using directives
c. Using declarations
d. Namespace aliases
2. Functions
a. What are functions?
b. Syntax of a function
c. Function call mechanism
d. Default Arguments
e. Pass by value
f. Inline functions
Section 4 – Compile time Polymorphic Programming: Function Overloading
1. What is Polymorphism?
a. Compile time Polymorphism
b. Run Time polymorphism
2. Function overloading
Section 5 – Derived Data Type: Arrays
1. What are arrays?
2. Declaration and initialization of arrays
3. Array out of bound
4. Searching and sorting an array
5. Strings
Section 6 – Derived Data Type: Pointers
What is a pointer?
Size of a pointers
De-refencing operator
Pointer Arithmetic
Pointer to one dimensional array
Pass by value vs Pass by Address
Section 7 – References
1. What is a reference?
2. Reference operator
3. Reference vs Pointers
4. Call by reference
5. Pass by value vs Pass by address vs Call by reference
Section 8 – User Defined Data Types : Structures and Unions
1. Structures
a. Structure declaration
b. Accessing the members of the structure
c. Structure initialization
d. Passing a structure to a function
i. By value
ii. By address
iii. By reference
2. Unions
a. Union declaration
b. Accessing members of the unions
3. Structures vs Unions
Section 9 – 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 – accessors and mutable
c. Singleton objects
Section 10 – Exception Handling
1. Exception handling
a. Try
b. Catch
c. Throw
d. Standard exceptions
i. Handling standard exceptions
ii. Handling bad_alloc
Section 11 – 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 12 – 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
ii.Use of virtual keyword in hybrid inheritance
Section 13 – 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 and Virtual class implementation
3. Abstract classesSection
14 – 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 15 – 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 16 – 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 32 hours
- Skill level All levels
- Language English
- Students 0
- Assessments Self