Object Oriented Programming in C++
Created by Anand Mahajan, Last Updated 03-Dec-2019, Language:English
Object Oriented Programming in C++
Master the skills in OOPs step by step
Created by Anand Mahajan, Last Updated 03-Dec-2019, Language:English
What Will I Get ?
- able to write OOPs based programs in a confident and sleek manner.
Requirements
- You should have a basic knowledge of C. You should install Bloodshed Dev C++ or CodeBlocks IDE.
Description
- This course has been designed meticulously to help students master the Object Oriented Programming skills in C++. It covers basic topics like input/output streams, namespaces, classes and objects, constructors, function overloading, function overriding through to advanced topics such as Inheritance, Polymorphism, Templates, Exception handling, File handling etc,
- It will be a stepping stone for learning other technologies like Java, Ios, Windows phone programming etc.
- In today's scenario it is almost impossible for a budding programmer/developer to survive in the market without a solid foundation of OOPs concepts. There is no better option than to start with C++ for this purpose. Once you acquaint yourself with the aforesaid topics there won't be any looking back.
- The initial lectures explain the pillars of OOPs with the help of real-life examples.
- The best part of this course is all the concepts have been elucidated in simple English language followed by example codes. I humbly advise tall the students of all my courses to practise writing programs as much as you can.
Who this course is for:
- Anyone who wants to grasp the concepts of Object Oriented Programming
- It is a steeping stone for learning iOS, Android and Widows Phone programming.
Course Content
-
Introduction
5 Lectures 00:13:49-
Rendezvous with your Instructor
Preview00:01:17 -
Why should you learn C++ ?
Preview00:01:24 -
Real world applications of C++
Preview00:03:50 -
Prerequisites for this course
Preview00:01:54 -
What you are going to learn - Curriculum
00:05:24
-
-
Understanding OOPs
4 Lectures 00:18:33-
Introduction to Object Oriented Programming (OOPs)
Preview00:06:10 -
Features of OOPs Part - 1
Preview00:05:57 -
Features of OOPs Part - 2
Preview00:02:42 -
Understanding relationship B/w Classes and Objects
Preview00:03:44
-
-
Installing IDE's (Integrated Development Environments) for C++
1 Lectures 00:02:23-
Installing CodeBlocks and Dev C++
00:02:23
-
-
Let us start coding in C++
5 Lectures 00:32:36-
Sample Programs Part - 1
00:07:48 -
Sample Programs Part - 2
00:04:36 -
Sample Programs Part - 3
00:09:40 -
Sample Programs Part - 4
00:05:34 -
Reading multi-word strings
00:04:58
-
-
Using manipulators and formatting flags
3 Lectures 00:20:32-
Manipulators with arguments
00:08:06 -
Manipulators without arguments
00:03:41 -
Formatting flags
00:08:45
-
-
Let us revise pointers using C
9 Lectures 00:51:40-
Basics of Pointers
00:07:27 -
Pointers in action Part - 1
00:05:48 -
Pointers in action Part - 2
00:04:16 -
Pointer to Pointer
00:05:47 -
Pointer Arithmetic
00:06:13 -
Subtracting two pointers
00:02:50 -
Arrays & Pointers
00:07:16 -
Dynamic Memory Allocation Part - 1
00:07:14 -
Dynamic Memory Allocation Part - 2
00:04:49
-
-
Creating classes and objects and much more
5 Lectures 00:41:05-
Creating a class and it's objects Part - 1
Preview00:08:45 -
Creating a class and it's objects Part - 2
00:07:36 -
Creating a class and it's objects Part - 3
00:06:27 -
Pointer to object
Preview00:09:19 -
Array of Objects
00:08:58
-
-
Inline functions
1 Lectures 00:02:56-
Inline functions
00:02:56
-
-
Understanding access specifiers
2 Lectures 00:08:32-
Access specifiers (visibility modes) Part - 1
00:02:11 -
Access specifiers (visibility modes) Part - 2
00:06:21
-
-
Using new operator for dynamic memory allocation
2 Lectures 00:14:09-
Dynamic memory allocation using new operator Part - 1
00:06:02 -
Dynamic memory allocation using new operator Part - 2
00:08:07
-
-
Scope resolution operator
1 Lectures 00:07:17-
Usages of scope resolution operator
Preview00:07:17
-
-
Namespaces
2 Lectures 00:13:19-
Basics of namespaces
00:04:02 -
Example code of namespace
00:09:17
-
-
this keyword
1 Lectures 00:07:48-
The basics of 'this' keyword
00:07:48
-
-
Function Overloading
1 Lectures 00:10:32-
Function Overloading
00:10:32
-
-
Constructors
7 Lectures 01:00:01-
Basics of constructors
00:07:28 -
Types of constructors
00:04:59 -
Constructor Overloading
00:14:11 -
Alternative way to define constructors
00:06:42 -
Using 'this' keyword in constructors
00:07:53 -
Copy Constructor
00:12:03 -
Defining the constructor body outside the class
00:06:45
-
-
De-allocating the memory using delete operator
2 Lectures 00:09:15-
delete operator - de-allocating the space of an array
00:06:11 -
delete operator - de-allocating the space of an object or array of objects
00:03:04
-
-
Destructors
1 Lectures 00:05:53-
Destructors
00:05:53
-
-
Friend functions and friend classes
2 Lectures 00:12:41-
Friend functions
00:06:09 -
Friend classes
00:06:32
-
-
Passing and returning an object by reference
1 Lectures 00:24:16-
Passing and returning an object by reference and more usage of this
00:24:16
-
-
Static class Members
1 Lectures 00:16:25-
Static class variables and static class functions
00:16:25
-
-
Usages of const keyword
2 Lectures 00:14:14-
Declaring a named constant and making a formal parameter Read-only
00:07:51 -
Making instance variables Read-only
00:06:23
-
-
Inheritance
6 Lectures 00:49:23-
Basics of Inheritance
Preview00:06:49 -
Example code of Single Inheritance
00:09:17 -
Example code of Hierarchical Inheritance
00:18:38 -
Understanding public derivation
Preview00:05:25 -
Understanding protected derivation
Preview00:05:04 -
Understanding private derivation
00:04:10
-
-
Behaviour of constructors in inheritance
4 Lectures 00:31:13-
Behaviour of non-parameterized constructors in inheritance Part - 1
00:08:48 -
Behaviour of non-parameterized constructors in inheritance Part - 2
00:06:21 -
Behaviour of parameterized constructors in inheritance Part - 1
00:07:48 -
Behaviour of parameterized constructors in inheritance Part - 2
00:08:16
-
-
Understanding run-time polymorphism step by step
5 Lectures 00:37:14-
Assigning address of child class object into pointer to object of parent class
00:04:57 -
Understanding virtual functions
00:08:07 -
Understanding Late binding and Early binding
00:04:41 -
Run-time polymorphism with Late binding Part - 1
00:07:53 -
Run-time polymorphism with Late binding Part - 2
00:11:36
-
-
Abstract classes using pure virtual functions
2 Lectures 00:17:28-
Abstract classes using pure virtual functions Part - 1
00:03:07 -
Abstract classes using pure virtual functions Part - 2
00:14:21
-
-
Virtual destructors
1 Lectures 00:05:06-
Virtual destructors
00:05:06
-
-
Exception handling
8 Lectures 01:00:11-
Basics of exception handling
00:06:03 -
Putting exception handling into pracice
00:04:41 -
Multiple catch blocks under one try block
00:10:08 -
Calling a function from a try block
00:08:47 -
catch block that handles all exceptions
00:12:48 -
Rethrowing an execption
00:05:32 -
Nested try block
00:05:43 -
Class level exception handling
00:06:29
-
-
Templates
3 Lectures 00:23:19-
Basics of Templates with example
00:07:17 -
Yet another example of templates
00:09:37 -
Class templates
00:06:25
-
-
Operator Overloading
8 Lectures 01:01:53-
The basics of operator overloading
Preview00:05:28 -
An example Program WITHOUT using operator overloading
00:16:29 -
Overloading of + operator
00:07:33 -
Overloading of relational operator Part - 1
00:05:41 -
Overloading of relational operator Part - 2
00:05:53 -
Overloading of unary operators Part - 1
00:07:55 -
Overloading of unary operators Part - 2
00:08:42 -
Overloading of unary operators Part - 3
00:04:12
-
-
File Streams
5 Lectures 00:41:25-
Basics of streams
00:03:10 -
Using ofstream class to write on a file
00:08:40 -
Using ifstream class to read from a file
00:05:41 -
Using fstream class for multiple operations
00:13:32 -
Writing objects on a binary file
00:10:22
-

Anand Mahajan
Senior Programming Instructor
I started teaching programming when I myself was a student. I have been training Computer Science students for the last 20+ years, I have a fair deal of experience in the training of C, C++, Core Java, Advanced Java, PHP and .Net to thousands of students. All these students vouch for my training skills , dedication to my responsibility towards my students. What I believe is - my students who repose faith in me deserve the BEST training. I have been the most recommended computer programming teacher in the region. But despite this enormous experience I always believe that there is always room for improvement. So I will appreciate if any student points out my weak points or foibles.