Lecture 1
My Introduction
Words of motivation to students
How we should proceed with course?
Discussion on PF concepts- Arrays and functions Assignment 0
Lecture 2
Discussion of Assignment 0
Discussion of question 6
Max and second maximum
constant and pass by reference
Why OOP? Question 6 solution
Lecture 3
Matching object concept with class - Student class
Difference between Object and class
Class explanation - Complex number class
attributes
member functions
SetAttributes function - replacement with constructor
default and parameterized constructor
Access modifier public and private
set & get function - check within set is must
Addition of complex number
Lecture 4
Overloaded constructors of class Complex
3 separate files
constructor with default arguments
Lecture 5
Memory Leak and dangling pointer
const value and pointer to a constant value & constant pointer
Deep Copy and Shallow copy
const objects
Introduction to MyString Class
Destructor
constant function
Copy constructor (Deep and Shallow Copy)
Lecture 6
This pointer
const function - local parameters can be changed
Deep Copy -utility function
Complete MyString Class
Constant attributes - constructor with initializer list
get/set functions of MyString
Pointer type object
class object in function Material
Lecture 7 - Chapter 10 Deitel book
Operator overloading
function inside and outside class -Fraction class
+,-, comparison and assignment operator - Complex class
Lecture 8 - Chapter 10 Deitel book
Operator overloading - Continue
Friend function
Stream insertion and extraction operator(<< and >>).
Static attributes and static function
Example: Use of Static Quiz 1 with solution
Lecture 9 -
Practical application for UCP Tech Gala - Assignment 0(question 6)
++ operator
Class type pointer
Use of Static and previous concepts Competition Class Code
Lecture 10
Previous Quiz
Array of Objects (different ways of initialization)
[] operator
Comprehensive Quiz 2 and discussion Quiz 2 with solution
Lecture 13
Revision of Composition and aggregation
Association
Singleton pattern Code
Lecture 14
Comprehensive quiz 3 on all concepts
Discussion on Quiz Quiz 3 with solution
Lecture 16 - Dietel &Dietel 11th chapter
How we shall proceed further
Projects
Session on freelancing and C#
Introduction to inheritance
Student and Teacher class inherited from Person
Function of base class
Protected keyword
Lecture 17
CP1: Complete Mini Project in Group (29 Dec 2022- submission on teams/group) OOP Mini Project - Sparse Matrix
Inheritance Commission Employee example - dietel book chapter 11
Function over ridding
How to call base class function in child class Code Skeleton
Lecture 18
Private Inheritance (is just as has-a relation) Link
Hierarchy of Inheritance
Diamond Problem Assignment 3
Lecture 19
Polymorphism
Example with Shape class with Rectangle and Circle
Draw function
virtual and pure virtual
Employee Class with Manager and Developer class (assignment 3 Q4)
With inheritance
With Polymorphism
Lecture 20
Polymorphism using graphics.h Basic Code
Introduction to graphics.h library - Graphic.h detail
Initialize Widows, Kbhit function
Draw Point, Line and Circle
putpixel(50, 50, YELLOW), to create point
Line; to create segment
Rectangle using Line
Circle(x,y,r); Draw Circle, Point
Creating Shape Hierarchy with Segment, Circle and Rectangle
Lecture 21
5 Steps
Create a requirement document
Identify classes(Nouns)
Identify Relationships(Phrases)
write down attributes and functions(Verbs)
Find Inheritance and Polymophism (if any)
Quiz From Assignment 3
CP4: Create UML diagram of your own project and submit in next class
Lecture 22
Complete discussion of Unilink class - Assignment 4
Creating UML Diagram
Creating Post, Event, Reply Class
Animal hierarchy - Cat and Dog (with getname and Speak function)
Use of Conversion of Base to child (report function)
Without Virtual
With Virtual
Caution on Virtual Function
Overriding signature must be same
Do not call virtual functions from constructors or destructors
The downside of virtual functions
Virtual destructors, virtual assignment, and overriding virtualization
Virtual destructors
Ignoring virtualization
Remaining discussion on UML Diagram
Lecture 24
Templates - generalization
MaxFunction with templates
MyArray class using templates Lecture 24
Lecture 26 - Link
Late and Early binding
Virtual Tables