Skip to content

Tehreem-Asghar/CS304

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CS304: Object-Oriented Programming (OOP)

Course Study Notes (Roman Urdu & C++)

Welcome to the CS304 (Object-Oriented Programming) reference archive! This repository contains highly detailed, comprehensive lecture notes designed for students of CS304. The explanations are written in Roman Urdu/Hindi paired with complete C++ code blocks, making complex programming paradigms extremely accessible and easy to digest.

The files have been structured, styled, and compiled into premium-quality, print-ready PDF notes.


πŸ“‚ Directory Structure

CS304/
β”œβ”€β”€ README.md                  # This course index and guide
β”œβ”€β”€ CS304_OOP_Notes.pdf        # Complete, combined 22-chapter e-book PDF (with cover & TOC)
β”œβ”€β”€ markdown/                  # Raw markdown source notes (Chapters 1 to 22)
β”‚   β”œβ”€β”€ chapter_01.md
β”‚   └── ...
└── pdf/                       # Individual, lecture-wise PDFs for targeted study
    β”œβ”€β”€ chapter_01.pdf
    └── ...

πŸ“– Table of Contents & Lecture Index

Below is the curriculum index of the 22 lectures available in this archive. Click on any PDF link to open the standalone notes directly.

Lecture Title / Topic Summary Formats
01 Introduction to OOP OOP paradigm vs. procedural programming. State, Attributes, and Behaviors of Tangible/Intangible Objects. MD | PDF
02 Core OOP Principles Key concepts of Information Hiding, Encapsulation, Abstraction, and Separation of Interface/Implementation. MD | PDF
03 Abstraction & Classes Practical mapping of real-world concepts into C++ classes. MD | PDF
04 Object Relationships Generalization, Specialization, and Inheritance structure. MD | PDF
05 Multiple Inheritance Multiple inheritance syntax and resolving the Diamond Problem. MD | PDF
06 Class Compatibility Downcasting, upcasting, and rules of assignment compatibility. MD | PDF
07 C++ Class Syntax C++ Class declaration structure, member variables, and access specifiers. MD | PDF
08 Constructors & Copying C++ Member functions, default and parameterized constructors, copy concepts. MD | PDF
09 Copy Constructor & Destructors Shallow vs. Deep copy, writing custom copy constructors, destructors. MD | PDF
10 Const Members & this Pointer Detailed use cases of this pointer, const member functions, and interface separation. MD | PDF
11 Initializer Lists Const data members, Member Initializer Lists, and introduction to static members. MD | PDF
12 Static Members & Object Arrays Static data members, static member functions, and initializing arrays of objects. MD | PDF
13 Object Pointers & Date Class Working with pointers to objects, dynamic allocation, and building a Date class. MD | PDF
14 Composition (Has-A) Designing composition, constructor calling sequences, and object lifetimes. MD | PDF
15 Aggregation & Friend Functions Aggregation vs. Composition, friend classes, and friend functions. MD | PDF
16 Operator Overloading Introduction to operator overloading syntax, benefits, and rules in C++. MD | PDF
17 Binary Operator Overloading Overloading binary arithmetic/comparison operators, custom assignment operator. MD | PDF
18 Self-Assignment Checks Handling the self-assignment problem, using friend functions for symmetric overloading. MD | PDF
19 Stream Operator Overloading Overloading stream insertion (<<) and extraction (>>) operators. MD | PDF
20 Unary Operators & Custom String Designing a custom String class and overloading prefix/postfix unary operators. MD | PDF
21 Unary Increment & Conversions Detailed unary pre/post-increment overloading and custom type conversions. MD | PDF
22 C++ Inheritance Mechanics Base vs. Derived class relationship rules, access modes, constructor chaining. MD | PDF

Tehreem-Asghar mmustafacode

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors