Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Object Oriented Programming with C++ to your Wishlist.

Add to Wishlist

Object Oriented Programming with C++

Walk through the wonderful world of C++
4.2 (20 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
108 students enrolled
Last updated 2/2017
English
$10 $80 88% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 8 hours on-demand video
  • 1 Article
  • 18 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
Have a coupon?
What Will I Learn?
Master principles of Object Oriented Programming
Become proficient in understanding concepts of C++
Become expert in comprehending C++ source code
Become confident to face campus interview
View Curriculum
Requirements
  • Student should have in-depth of knowledge of C language
  • Must have hands-on experience of writing programs
  • Must have and IDE or turbo C++ compiler i.e. TCC
Description

Many a times C++ is regarded as replacement of stdio.h in C by iostream in C++, printf and scanf in C by cout and cin in C++ and structure in C by class in C++...

My objective is to take this course beyond that myths and impressions...

Learning C++ is not just syntax but far more than that. OOP was one of the revolution in s/w industry. Here is an attempt is made to teach concepts of C++ from philosophical point of view and not mere from programming perspective. OOP and C++ are the way we live, behave, act, respond, and exist in the world...!

I am making attempt in the world by mapping each implemented concept of OOP in C++ by mapping it to the real world. May be its first attempt in the world to teach in this manner by using animation.

Besides all features of C++ with OOP along with step by step explanation, I am going to put here notes, quiz, interview questions along with answers and assignments as well.

I am sure if understand the basics, Java, PHP, Python would not only be an easy cakewalk but you would love learning those in the future. So I am using numerous day-to-day examples to explain concepts.

Course starts from basics of programming methodologies and then covers each feature of C++ with detail analysis rather than mere explanation of programs.

Who is the target audience?
  • For those who want to know Object Oriented Programming methodology with real world examples
  • For those who don't want to learn mere syntax, but interested in knowing why C++ programs are written in OOP style
  • Absolutely essential for engineering and polytechnic students
  • Those who plan to learn Java, PHP and Python in the future
  • Suitable for those who want to make career in Software Engineering
  • For those who are comfortable with C
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 85 Lectures Collapse All 85 Lectures 07:58:19
+
Fundamental principles of Object Oriented Programming
21 Lectures 01:23:36

Hi....

Shweta here...!

Here in this video I am introducing about me and the course

Cheers...

Preview 05:15

You can’t trust code that you did not totally create yourself...!
Ken Thompson

Here is the scope of subject and methodology which I am going to follow to explain the Object Oriented Programming with C++. Hope you enjoy my way of teaching.

Scope and Methodology
03:06

A language that doesn’t have everything is actually easier to program in than some that do...!
---Dennis Ritchie

  • In this topic I am taking you in the past...to explore history of C++ language...
History of C++
07:02

If you don't know where you are going, road will get you there...!
...Lewis Carroll

After knowing history let's see the future...!

The Road Ahead
02:55

Measuring programming progress by lines of code is like measuring aircraft building progress by weight...!
---Bill Gates

If you have written C program, here is the methodology which you followed while writing C programs

Introduction to Procedure Oriented Programming
08:50

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it...!
---Brian Kernighan

This is just an overview of OOPs methodology in a nutshell

Philosophy of C
03:02

The main object of religion is not to get a human into heaven, but to get heaven into him...
---Thomas Hardy

Essence of being an Object
03:44

Without history, there would be no future...!

History of OOP
03:20

In order to be irreplaceable, One must always be different...!

Comparison between POP and OOP
03:53

The objects are very beautiful and important in and of themselves, but also because of the story they tell...
---David Silverman

Features of Object Oriented Programming
03:14

Sarcastic Saying..."Men will be Men"....and..."Boys will be boys"...

What's wrong in that...?

After all object are an instance of Class...!

Preview 07:56

Sometimes abstraction and encapsulation are at odds with performance — although not nearly as often as many developers believe — but it is always a good practice first to make your code right, and then make it fast...
---Brian Goetz

Encapsulation
02:05

Upper classes are a nation's past;

The middle class is its future

....Ayn Rand

Class
06:21

"Abstraction is selective ignorance...!"
-Andrew Koenig

The complexity of the problems you are able to solve is directly related to the kind and quality of Abstraction

Everywhere you look, you see them - objects..! People, animals, planes, cars, buildings, computers and the like. Human think in terms of objects. We have the marvelous ability of abstraction that enables us to view screen images as objects such as people, plane, trees, and mountains rather than as individual dots of color. We can, if we wish, think in terms of beaches rather than grains of sand, forests rather than trees, and houses rather than bricks...!

Abstraction
02:38

This method is to define as the class number of a class the class of all classes similar to given class...!
....Bertrand Russel

Inheritance
05:45

One Ring to Rule them all,
One Ring to find them,
One Ring to bring them all
and in the darkness bind them.

---John Ronald Reuel Tolkien

Polymorphism
02:49

Only God can turn a Mess into a Message...!

---Anonymous

A Message prepared in the mind reaches a mind...A message prepared in a life reaches a life...!

---Bill Gothard

God sends you lot of messages...Keep your senses open to receive them...!

---Anonymous

Message Passing
03:28

In this dynamically changing world, you often take decisions dynamically...Don't you?

:

Dynamic binding
03:45

This penultimate topic covers applications of OOPs in the software industry.

Applications of OOPs methodology
02:20

Here we come to the end of first chapter... It was just introduction to two mmethodologies viz. POP & OOP.

Summary video would help you to recall everything learnt so far in this chapter...

Summary
01:54

Here is a fast quiz on fundamentals of OOPs

Cryptic Questions
30 questions

Here are a few assignments for you. You can discuss along with other students in the class and explore it

Assignment
00:14
+
Moving from C to C++
5 Lectures 42:56

What do you do when you plan to purchase any new gadget...? Ask this question to yourself and answer before you start this unit...!

Introduction
02:47

Here is first set of differences between C and C++. You would learn various minor and major differences like commenting style in C and C++, size of character constant, difference in meaning of empty parenthesis in front of function, compilation rules, placement of variables declaration, initialization of global variables etc. in C and C++.

Don't just listen but pause while you view the code. Type it. Observe output in C and C++ compilers separately. I advise you to use old TC compiler for understanding the beauty of C as well as enhancement made by Stroustrup in C++.

Old TC compiler is available on the internet.

Note: You may find some different outputs than mentioned in the video. But I just want you to understand the attempts behind the possible enhancement.

Differences between C and C++ - Part 1
12:11

Here is second set of differences between C and C++ wherein you would learn how tag name of user defined data type differs between C and C++, const modifier, how return type of main function defers, how string constants are handles by C and C++, need of function prototype, type casting, new concepts like void pointer, compiler-only table etc.  

Differences between C and C++ - Part II
15:05

Here is third and final set of differences between C and C++. The topic starts with difference in default access category of structure in C and class in C++, and then it is followed by various concepts like scope resolution operator and typecasting methods in C and C++.  

Differences between C and C++ - Part III
07:05

Although it is possible to write portable programs, there are many programs among different C and C++ compilers and different computers that can ,make portability difficult to achieve. Simply writing programs in C and C++ does not guarantee portability. The programmer will often need to deal with compiler and computer variations. 

Here is summary of the topic. A small but very interested story has been narrated here for you. If you have enrolled for my other course "Demystifying C programming language" then you can skip this story. 

Summary
05:48

Take a Break...Take a  Quiz

The quiz is designed to refresh your knowledge of C programming as well along with C++

Cryptic Quiz
16 questions
+
Reference Variable in C++
7 Lectures 30:52

"I love nick names. It makes me feel loved. It makes me feel less alone in this world...!" 
---Ellen Page

Here in this topic you would be introduced to a new topic which is a wonderful facility directly imported from real world. 

Introduction
02:21

Here is review of two popular concepts from functions in C i.e. 

  1. function call by value 
  2. function call by reference"  

Review is taken to understand power of reference variable in a better way. 

Preview 02:56

Here you will learn everything about reference variable in C++ i.e. syntax of reference variable and tips to use it appropriately.

Syntax of Reference Variable
05:58

Your computer and compiler are good teachers. If after carefully reading your C++ language manual you are not sure how a feature of C++ works, experiment using small test programs like in the previous chapters and see what happens. Se your compiler options for "Maximum warnings". Study each message you get when you compile your programs and correct the program to eliminate the message.  

Here is a sample program to understand theory learnt so far in last topic 

Sample Prorgam
03:42

Here is a single problem solved with three methods i.e. 

  1. function call by value
  2. function call by address
  3. function call be reference


Study carefully 

Cryptic Questions
05:59

Swapping contents of two variables using or without using 3rd variable has been second most popular program in while learning any hardcore computer programming language after famous "Hello World" program. And why not it should be? After all, any operating system works on this basic principle...!

Here is the interesting program using reference variable  

Swapping the contents
02:43

Here is the last video in this chapter which explains use of const while handling reference variable in C. At the end you would get to answers to 3 small but cryptic questions in this chapter. 

Const Reference and Cryptic Solutions
07:13

It's a break...Quiz time break

Cryptic Quiz
10 questions
+
Default function arguments
3 Lectures 12:31

Here is introduction to new small topic "Default function arguments". Try to understand its importance. The concepts has been intelligently used by many programming languages while writing libraries. I bet you, its really interesting feature of C++.

Preview 02:16

The arguments in function having default values can be categorized as Mandatory arguments and default arguments. Here is syntax of default arguments along with meaning of mandatory arguments and default arguments. Examples are hypothetical for understanding purpose only. Explore its use by thinking on your own. 

Syntax of default argument list
05:04

Here is a sample program written on the basis of real life example. Its a hypothetical program written in 3 different files for exploring power of default function arguments in C++

Sample program with 3 different versions
05:11

Take a break...Take a quiz

Cryptic Quiz
6 questions
+
Dynamic Memory Allocation
8 Lectures 58:15

Memory allocated to variables can be at either compile time or at run time. Here is introduction to dynamic memory allocation

Introduction to dynamic memory allocation
02:04

Here is explanation of everything about memory with the aid of animation...like data segment, logical partitions, scope and life etc. of variables and focus on heap

Inside memory
07:43

Here is first function from C, for allocation of memory dynamically. Its a library function.

Back to the C - the function malloc()
14:37

Here is explanation of one more memory allocation function calloc(). The video also covers explanation of the function free() which releases the memory from the heap.

Preview 07:00

Memory taken dynamically may proved to be insufficient and in such case the library function realloc() helps you to request for additional memory at run time. Here is how it works... 

Insufficient memory...? Here is realloc()
10:25

Here we are to study how memory can be taken from the heap at run time in C++. 

"New" way of Dynamic Memory Allocation in C++
06:45

new in C++ is versatile operator proposed by Prof. Stroustrup. Here is more about new in C++.

New and delete
08:16

Here is summary of this chapter so far we learnt. 

Summary
01:25

A short Break...It's Quiz time

Cryptic Quiz
6 questions
+
Classes and Objects
19 Lectures 02:01:01

Here is refreshing introduction to classes and objects in C++. 

Introduction
04:11

Class in C++ resembles structure in C. Though both are user defined data types, major difference exists between class and structure. Here is brief about structure in C. Might be revision for you. But take it. 

Structure - The Driving Force
08:11

Let's have a look at difference between structure in C and class in C++. 

Difference between Structure and Class
04:31

In C you might have heard the term "Data Type". This type has been given new dimension in C++. Here it is how...!

Type in C++
02:48

Here is how class in C++ can be designed...

Class Design - Part 1
03:28

Let's have a look at syntax of the class

Preview 03:53

It's the Encapsulation, which gives you the power of Data Hiding and Data inaccessibility... Here is more about Encapsulation in C++

Encapsulation in C++
05:06

Here is roles of access specifiers viz. private, public and protected while designing the class

Class Access Categories
08:37

Here is the video which explains information that can be retrieved by user of a class just by looking at the class design. 

Class Design - Part 2
02:34

Here is first program of C++ using class. You would find detail analysis of scope resolution operator at the end of the topic. 

First Crush with Class
09:14

The Question "How does one write good programs in C++?" is very similar to the question "How does one write good English prose?" There are two answers: "Know what you want to say" and "Practice. Imitate good writing". Both appear to be appropriate for C++ as they are for English - and hard to follow. 
Bjarne Stroustrup 

Here is inside view of typical C++ program written using class

First C++ Program
12:34

Let's feel the pains if we have to mimic the class program in C++ using structures in C

Back to the C
03:05

Here are very interesting sample codes to create instance on the stack, an array of instances, an instance on the heap and and an array of instances on the heap. 

Playing with the Class and Objects
07:01

In the last century "Landline" phone used to be popular gadget at home as well as commercial premises. Then came the mobile, "a personal gadget". However both has got it's own pros and cons. 

"Inline functions in C++", I would say is same kind of mechanism....!

Don't take it literally :)

Inline Function
16:30

Here is the video to extend default functions arguments learnt in the 4th chapter in the context of "Class in C++" 

Default function arguments in class
03:44

Here is discussion about const member functions in a C++ class. 

Accessor functions
07:52

Like variable of primitive data type, reference to instance of user defined class can be created. This is exhaustively used while writing C++ applications. Listen carefully the philosophy behind this concept.  

Reference of an Instance
07:49

"A true relationship has tears"
...Anonymous 

Here is a video which explains relationship between container class and containing class. 

Both programs explained have been attached herewith in resources so that you can type, compile and execute them to explore intricacies of containing class relationship.

Has-a Relationship
05:04

Here is the last topic of this chapter. Try to understand the program. Study it carefully before you go to the next chapter. 

Cryptic Class
04:49

Please don't take this quiz right now if you are absolutely new to C++ programming language. This is going to last topic only after a few more topics are uploaded. Thank you for reaching here and your patience.

Cryptic Quiz
20 questions
+
Manager functions in C++
13 Lectures 01:17:30

This topic is continuation to the last topic in last chapter. You would understand this chapter only when you have understood philosophy of class containing pointer data member.  

Need of constructor and destructor functions
05:17

In this topic you will understand everything about basics of constructor like its syntax rules, when it is called, and when not called. 

Constructor in C++
09:59

Here is a counterpart of constructor in the previous topic and it is Destructor in C++. I have taken small and simple programs on the background of animation to explain flow control and concepts. You need to be very carefully as you need to given attention on various parts of the screen at a time. 

Destructor in C++
07:20

Here is one of the important concept of the constructor i.e Default Constructor. It is usually expressed in single line. But I am elaborating it taking its importance into consideration. 

So in all programs written till date were having a default constructor (hidden though) supplied by the constructor.

Try to apply analogy in our day-to-day life if you can after completion of this topic. Human too behave like a compiler. 

Default Constructor and Destructor
08:09

Constructor taking single argument is different than constructor taking multiple arguments. So this case is dealt here separately. Try to understand the importance. 

Constructor taking one argument
05:22

The video explains you need of writing default constructor if user takes part in writing explicit constructors for instance initialization. The source code is attached here for download. 

Sample Program on Constructor
02:59

Here is a program of constructor taking two arguments. Try to understand importance and difference between constructor taking single argument and multiple arguments. Source code is attached so that you can try it on your own machine

Constructor taking multiple arguments
04:41

When you give some article as a gift to anybody you love, you wrap it in a "Gift box". Though this "Gift box" is temporary, it is necessary. The temporary instance in C++ is the same which is created internally by the compiler. Your job as a programmer is to make provision by way of provision of a suitable constructor. The same is explained it here. The concept is difficult to understand by reading book. So extensive animation is used to explain the same. I hope you understand the underlying philosophy.

The source code is made available for downloading so that you can test the program on your machine and understand control flow of each step. 

Implicit Type Conversion
03:55

Here is a small program containing class having constructor taking two arguments with default values. Source code is also provided to download. Try this program on your machine.  

Default Constructor
02:09

Initializing 1 instance with existing instance is one of the important feature of Copy Constructor. 

Though compiler provides default copy constructor, it's of no use if class data member is of pointer.

Study the program carefully to understand Shallow Copy 


Shallow Copy
11:06

In this video you would understand

  • What is deep copy?
  • What is the need of user defined copy constructor?
  • What are the differences between a shallow copy and a deep copy?

Note: Programs explained in the video are made available to download. Don't copy programs but type them on your own.

Deep Copy
08:24

Though constructor is said to be used for initialization of an object at the time of creation, it's not true initialization but and assignment. 

Here is video which explains difference between an Initialization and an Assignment in C++ context 

Initialization v/s Assignment
04:33

Here is the solution provided by Stroustrup to address issues in the last topic. You would learn

  • Base/member initialization list in this topic
  • Syntax to implement
Base/Member initialization list
03:36
+
Special Class features
9 Lectures 51:38

Here is I am with one more important topic to discuss special features of Class in C++. This would be introduction to this topic "Special Class Features". 

Introduction
01:39

The topic is difficult to understand. Try to listen and view contents of the video. I am trying to convey, how member function of the class knows which instance he is going to act. 

It is the special pointer called "this pointer" which makes it possible.     

Introduction to "this" pointer
04:31

Since, the concept of "this" pointer is difficult to understand, I am taking two similar looking programs. First is in C++ language and second in C language performing same task in same manner. 

You would be able to understand 

  • the role of this pointer
  • How it works in the background
  • Facility provided by Stroustrup 
Sample programs on this pointer
10:47

Here is wonderful application of this pointer. It's not just an application but is a special feature of C++ provided by Stroustrup. 

Functions in C++ can be concatenated and topic shows how to achieve it. 

You would learn mystery behind the screen 

Function Chaining
07:06

At the end of this small topic, you will understand 

  • Difference between C Structure and C++ class WRT Static Data Member
  • What is the Static data member


Static Data Member - An Introduction
03:38

Here are two programs to understand fundamentals of static data. 

In the next topic I have provided source codes of static data member of containing class.

Static Data Member - Sample Program
04:56

At the end of this topic, you would be able to understand importance and syntax of static member function. Source codes explained in the video have been made available for download. 

Static Member Function
07:59

You would learn what is the friend function in C++ at the end of this topic. 

Introducing Friend
05:56

Here is a sample program to understand implementation of friend function in C++

Sample Program on Friend Function
05:06
About the Instructor
4.6 Average rating
108 Reviews
642 Students
4 Courses
Creating innovative e-contents for programming languages

Post graduate Engineer... Computer Programming language trainer for last 15 years... Passionate about teaching and have taught personally over 3500 students. Currently my team is developing unique methodology for teaching programming language to the masses at lowest possible price. My team has tried to develop absolutely out of the box e-learning contents similar to Crafting a diamond.... for those who want to understand language concepts...

Report Abuse