Lecture 1
Introduction With student and my self
Marking criteria and Office Hours
Activities in course : Programming competitions, Home work and Project
Introduction to Object Oriented Programming
Difference between structured programming and Object Oriented Programming
Lecture 2
Revision of struct
Box type struct example.
Concept of object
Detail of object definition, examples, OOP model
Box class examples
Public and private concept
Set value function(No setter and getter function)
calling in main for member function and variables
Lecture 3
Discussion of Home work solution
Student Class example, with setter/getter.
Constructor example with student class
Parameterized and default
with default values
Overloading constructor and function
Lecture 4
Discussion of Point class example
3 separate files(separating interface)
Destructor
Const attributes, const, constructor with initializer list
Revision of Pointer
& and * operators
new keyword
Const pointer, pointer to constant values
This pointer
Lecture 5
Pointer attribute and memory leak and dangling pointer
& and * operator, destructor
const pointer to a constant String memory ("")
Object as reference
Copy Constructor Deep and shallow copy
const function
Lecture 7
Constant function
Const objects -> access only constant functions
Array of objects
Operator Overloading (+,-) and assignment
Lecture 8
Constructor with default values
Friend function
Operator overloading
String class Overloading
Discussion of multiple function of string(Assignment 2)
Assignment 2 -part 2 (extended)
Lecture 10
<< and >> operator overloading
++ (post and pre increment)
Friend function
Code of String class with overloaded operators Bonus Assignment
Lecture 11
Static attributes and functions
Pubic Inheritance
Calling of constructor
Destructor
Protected
UML
Lecture 12
Complete discussion of Home work 3
Inheritance examples
Function overriding
Lecture 13-14
Revision of Inheritance
Concept of Array of object(calling different constructor in for different object
Complete discussion of Assignment 3
Aggregation and Composition
Lecture 15
Revision of Aggregation and Composition
Association
Discussion of a realistic Scenario(Bank Management System)
Lecture 17-18
Solution of mid term
Private, Protected and Public inheritance
Association
Lecture 19
Introduction to polymorphism
Shape hierarchy using simple examples
Shape Hirarchy using Graphic.h library
Lecture 20
Revision of Shape Hierarchy using Graphic.h library
Static Vs Late Binding with example scenarios
Object Slicing Concept
Lecture 21
Pointers and references to the base class of derived objects
Referring to object without virtual key word
New type of for loop, auto key word
Virtual functions and polymorphism
Virtual key word
A beautiful example of animal class
dissimilar signature in function causes mismatch in overridden
Do not call virtual functions from constructors or destructors
The downside of virtual functions
The override and final specifiers, and covariant return types
Covariant return types
Virtual destructors, virtual assignment, and overriding virtualization
Virtual destructors
Ignoring virtualization
Assignment 4- (Polymorphism and object relationship)
Lecture 22
Multiple Inheritance
Calling of constructor and destructor
Function with same name in parent class problem
Diamond problem
Virtual Inheritance
Lecture 23
5 Steps
Create a requirement document
Identify classes(Nouns)
Identify Relationships(Phrases)
write down attributes and functions(Verbs)
Find Inheritance and Polymophism (if any)
Lecture 24
Comprehensive Quiz on
Virtual Keyword(Abstract class and Polymorphism)
Inheritance
Object slicing
final keyword
function pointer and VTable
Lecture 25
Template Need( Maximum function example)
Function template instances
How to call Templates with classes
Issue using template class and their solution
Quiz 3 Solution
Lecture 26
Template Function Specialization
Template non-type parameters
Template specialization
Function template specialization
Introduction to STL - Vector Class
Lecture 27
STL Basics concepts with example
Inventory class repeatation of following concepts
Composition
Aggregation
Association
How to implement a UML in C++
Lecture 28
Example of class template specialization
Class template partial specialization
Bridge design pattern