Virtual Class
Public Class
In House Training
Private Class
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.
What you’ll learn
Able to write OOPs based programs in a confident and sleek manner.
Who should attend?
You should have a basic knowledge of C. You should install Bloodshed Dev C++ or CodeBlocks IDE.
Introduction
Why should you learn C++ ?
Real world applications of C++
Prerequisites for this course
Understanding OOPs
Introduction to Object Oriented Programming (OOPs)
Features of OOPs Part
Understanding relationship B/w Classes and Objects
Installing IDE’s (Integrated Development Environments) for C++
Installing CodeBlocks and Dev C++
Let us start coding in C++
Sample Programs
Reading multi-word strings
Using manipulators and formatting flags
Manipulators with arguments
Manipulators without arguments
Formatting flags
Let us revise pointers using C
Basics of Pointers
Pointers in action Part
Pointer to Pointer
Pointer Arithmetic
Subtracting two pointers
Dynamic Memory Allocation Part
Creating classes and objects and much more
Creating a class and it’s objects
Pointer to object
Array of Objects
Inline functions
Inline functions
Understanding access specifiers
Access specifiers (visibility modes)
Using new operator for dynamic memory allocation
Dynamic memory allocation using new operator
Scope resolution operator
Usages of scope resolution operator
Namespaces
Basics of namespaces
Example code of namespace
this keyword
The basics of ‘this’ keyword
Function Overloading
Function Overloading
Constructors
Basics of constructors
Types of constructors
Constructor Overloading
Alternative way to define constructors
Using ‘this’ keyword in constructors
Copy Constructor
Defining the constructor body outside the class
De-allocating the memory using delete operator
delete operator – de-allocating the space of an array
delete operator – de-allocating the space of an object or array of objects
Destructors
Destructors
Friend functions and friend classes
Friend functions
Friend classes
Passing and returning an object by reference
Passing and returning an object by reference and more usage of this
Static class Members
Static class variables and static class functions
Usages of const keyword
Declaring a named constant and making a formal parameter Read-only
Making instance variables Read-only
Inheritance
Basics of Inheritance
Example code of Single Inheritance
Example code of Hierarchical Inheritance
Understanding public derivation
Understanding protected derivation
Understanding private derivation
Behaviour of constructors in inheritance
Behaviour of non-parameterized constructors in inheritance
Behaviour of parameterized constructors in inheritance
Understanding run-time polymorphism step by step
Assigning address of child class object into pointer to object of parent class
Understanding virtual functions
Understanding Late binding and Early binding
Run-time polymorphism with Late binding
Abstract classes using pure virtual functions
Abstract classes using pure virtual functions Part
Virtual destructors
Virtual destructors
Exception handling
Basics of exception handling
Putting exception handling into pracice
Multiple catch blocks under one try block
Calling a function from a try block
catch block that handles all exceptions
Rethrowing an execption
Nested try block
Class level exception handling
Templates
Basics of Templates with example
Yet another example of templates
Class templates
Operator Overloading
The basics of operator overloading
An example Program WITHOUT using operator overloading
Overloading of + operator
Overloading of relational operator
Overloading of unary operators
File Streams
Basics of streams
Using ofstream class to write on a file
Using ifstream class to read from a file
Using fstream class for multiple operations
Writing objects on a binary file