Object-Oriented Programming
My second-semester Object-Oriented Programming course work in C++ – lecture slides and notes, fifteen weekly labs with my solutions, assignments, quizzes, exams, practice questions and final projects, from pointers and structures to classes, operator overloading, inheritance, polymorphism, file handling and exceptions.
Live Links
| What | Link |
|---|---|
| Repository | https://github.com/rohaan2802/OPP_Repository |
| Website (GitHub Pages) | https://rohaan2802.github.io/OPP_Repository/ |
| Releases page | https://github.com/rohaan2802/OPP_Repository/releases |
| Release v1.0 | https://github.com/rohaan2802/OPP_Repository/releases/tag/v1.0 |
| Download: 01-Vulcan video (~12 MB) | https://github.com/rohaan2802/OPP_Repository/releases/download/v1.0/01-Vulcan.mp4 |
| Download: Gameplay video (~109 MB) | https://github.com/rohaan2802/OPP_Repository/releases/download/v1.0/GamePlay-Vedio.mp4 |
| Download: Rotate Matrix by 90 Degree video (~106 MB) | https://github.com/rohaan2802/OPP_Repository/releases/download/v1.0/Rotate-Matrix-By-90-Degree.mp4 |
| Download whole repository (ZIP) | https://github.com/rohaan2802/OPP_Repository/archive/refs/heads/main.zip |
Overview
Object-Oriented Programming (CS1004, lab CL1004) at FAST-NUCES Islamabad, Spring 2023, taught in C++. The course folder holds the lecture slides and notes grouped by topic, four assignments, quizzes, exams, practice questions, the textbook and the final projects. The lab folder has the fifteen weekly lab handouts with my Visual Studio solutions, the lab assignment, quiz, mid and final exam.
C++ foundations
Pointers, memory layout, dynamic memory, 2D arrays, recursion and structures.
Classes & objects
Classes, constructors, copy constructors, deep vs shallow copy, the this pointer, static and const members.
Overloading & relationships
Operator overloading, friend functions, association, aggregation, composition and inheritance.
Polymorphism & I/O
Virtual functions, abstract classes, file handling with streams and exception handling.
Lectures
Lectures 1–22 grouped by topic, with slides, notes and homework. Every file opens on GitHub, where PDFs preview in the browser.
01–06Pointers
Open folder on GitHub · 135 files
- 05 Memory Segments Text,Data,Stack,Heap.mp4
- anagram or not.txt
- 10-1-array-of-pointers.cpp
- 10-2-1-array-of-pointers.cpp
- 10-2-array-of-pointers.cpp
- 10-3-array-pointer.cpp
- 10-3a-array-pointer.cpp
- 10-4-2-array-pointer.cpp
- 10-4-array-pointer.cpp
- 10-11-2D-ary-pointers.cpp
- 10-12-2D-ary-pointers-ftn.cpp
- 12-8-Dynamic-array.cpp
- 14-1-1-Ptr-1d-arary.cpp
- 14-1-2-Ptr-1d-arary.cpp
- 14-2-1-Ptr-2d-arary.cpp
- 14-2-2-Ptr-2d-arary.cpp
- 14-2-3-Ptr-2d-arary.cpp
- 14-2-4-Ptr-2d-arary.cpp
- 14-2-5-Ptr-3d-arary.cpp
- 14-2-6-Ptr-2d-arary.cpp
- 14-3-1-pointer-array.cpp
- 14-3-2-pointer-array.cpp
- 14-3-3-pointer-array.cpp
- 14-3-4-pointer-array.cpp
- 14-3-5-pointer-array.cpp
- 14-3-6-pointer-array.cpp
- 15-1-1-Dynamic-memory.cpp
- 15-1-2-Dynamic-memory.cpp
- 15-1-3-Dynamic-memory.cpp
- 15-1-4-Dynamic-2D.cpp
- 15-1-5-Dynamic-2D.cpp
- 15-1-6-Dynamic-2D.cpp
- 15-1-6b-Dynamic-2D.cpp
- 15-1-7-Dynamic-2D.cpp
- 15-1-7-Dynamic-3D-1D-arry.cpp
- 15-1-8-Dynamic-3D.cpp
- 15-1-9-Dynamic-3D.cpp
- 15-1-10-Dynamic-3D.cpp
- 15-2-1Dynamic-memory.cpp
- 15-2-2-Dynamic-memory.cpp
- 10-5-Const.cpp
- 10-6-a-Const-pointer.cpp
- 10-6-b-2-Const-pointer.cpp
- 10-6-b-Const-pointer.cpp
- 10-6-c-Const-pointer.cpp
- 10-6-Const-pointer.cpp
- 10-6-d-1-Const-pointer.cpp
- 10-6-d-Const-pointer.cpp
- 10-7-Const-pointer.cpp
- 10-8-Const-pointer-array.cpp
- 10-9-Const-pointer-array.cpp
- 10-10-Const-pointer-array.cpp
- 12-1-Heap-stack.cpp
- 12-2-Heap-stack-New.cpp
- 12-3-Heap-stack-New.cpp
- 12-4-Heap-stack-New.cpp
- 12-5-Heap-stack-New.cpp
- 12-6-2-Heap-stack-New.cpp
- 12-6-3-Heap-stack-New.cpp
- 12-6-Heap-stack-New.cpp
- 12-7-Heap-stack-New.cpp
- 12-8-heap-dynamic-array.cpp
- 12-9-heap-mytry.cpp
- 12-10-heap-mytry-using-loop.cpp
- 12-11-heap-2d-ptr.cpp
- Lec 1-Introduction.pdf
- Lec 2-Pointers.pdf
- Lecture01-Introduction.pdf
- Lecture02-Memory Management and Pointers.pdf
- Lecture03- Introduction to pointers.pdf
- Lecture04-Pointers practice questions.pdf
- Lecture05- Memory Leaks and Pointers with arrays.pdf
- Lecture06- 2D Arrays with pointers.pdf
- Lecture07a-Constant Pointers.pdf
- Screenshot_20230220_221357.jpg
- Screenshot_20230220_221418.jpg
- Screenshot_20230220_221421.jpg
- Screenshot_20230220_221424.jpg
- Screenshot_20230220_221428.jpg
- Screenshot_20230220_221432.jpg
- Screenshot_20230220_221434.jpg
- Screenshot_20230224_204426.jpg
- Screenshot_20230224_204429.jpg
- Screenshot_20230224_204432.jpg
- Screenshot_20230224_204435.jpg
- Screenshot_20230224_204438.jpg
- Screenshot_20230224_204440.jpg
- Screenshot_20230224_204442.jpg
- Screenshot_20230224_204445.jpg
- Screenshot_20230224_204447.jpg
- Screenshot_20230525_232128.jpg
- Screenshot_20230525_232129.jpg
- Screenshot_20230525_232132.jpg
- Screenshot_20230525_232138.jpg
- Screenshot_20230525_232140.jpg
- Screenshot_20230525_232142.jpg
- Screenshot_20230525_232145.jpg
- Screenshot_20230525_232147.jpg
- Screenshot_20230525_232149.jpg
- WhatsApp Image 2024-02-14 at 4.44.21 AM (1).jpeg
- WhatsApp Image 2024-02-14 at 4.44.21 AM (2).jpeg
- WhatsApp Image 2024-02-14 at 4.44.21 AM (3).jpeg
- WhatsApp Image 2024-02-14 at 4.44.21 AM.jpeg
- WhatsApp Image 2024-02-14 at 4.44.22 AM (1).jpeg
- WhatsApp Image 2024-02-14 at 4.44.22 AM (2).jpeg
- WhatsApp Image 2024-02-14 at 4.44.22 AM.jpeg
- Pointer Notes.txt
- 8-5-Pointer-dereference.cpp
- 8-6-Dereference-address-array-int.cpp
- 8-7-Pointer and function-alias.cpp
- 8-7-Pointer and function.cpp
- 9-1-2-Pointer.cpp
- 9-1-Pointer.cpp
- 9-2-Pointer.cpp
- 9-3-Pointer.cpp
- 9-4-Pointer.cpp
- 9-5-Pointer-segmentationfault.cpp
- 9-6-1-Pointer-segmentationfault.cpp
- 9-6-Pointer-segmentationfault.cpp
- 9-7-Pointer-segmentationfault.cpp
- 9-8-2-Pointer-segmentationfault-localftn.cpp
- 9-8-Pointer-segmentationfault-localftn.cpp
- 11-1-Pointer-Arthimetics.cpp
- 11-2-Pointer-Arthimetics.cpp
- 11-3-Pointer-Arthimetics.cpp
- 11-4-Pointer-Arthimetic.cpp
- 11-5-Pointer-Arthimetic.cpp
- 11-6-Pointer-Arthimetic.cpp
- 11-7-Pointer-Arthimetic.cpp
- 11-8-Pointer-Arthimetic.cpp
- 11-9-Pointer-Arthimetic.cpp
- 11-10-pointer-Arthimetic.cpp
- prime number within a range.txt
- second largest number cpp.txt
- WhatsApp Image 2023-02-28 at 10.19.00 AM.jpeg
07–08Recursion
Open folder on GitHub · 47 files
- gcd.txt
- Doc1.docx
- HOME WORK.rar
- HomeWork #01 Recursion.docx
- Source.cpp
- Source.exe
- task 1.sln
- task 1.vcxproj
- task 1.vcxproj.filters
- Source.cpp
- Source.exe
- task 2.sln
- task 2.vcxproj
- task 2.vcxproj.filters
- Source.cpp
- task 3.sln
- task 3.vcxproj
- task 3.vcxproj.filters
- Source.cpp
- Source.exe
- task 4.sln
- task 4.vcxproj
- task 4.vcxproj.filters
- Source.cpp
- Source.exe
- task 5.sln
- task 5.vcxproj
- task 5.vcxproj.filters
- Source.cpp
- task 6.sln
- task 6.vcxproj
- task 6.vcxproj.filters
- Lec 3-Recursion.pdf
- Lecture07b-Recursion.pdf
- Lecture08- Recursion Practice Questions.pdf
- 16-1-1-Recurrsion-Message.cpp
- 16-1-2-Recurrsion-Message-base-condition.cpp
- 16-2-1-Recurrsion-sum-prog.cpp
- 16-3-1-Recurrsion-factorial.cpp
- 16-3-2-Recurrsion-fabo.cpp
- 16-4-1-Recurrsion-character-count.cpp
- 16-5-1-Recurrsion-patterns.cpp
- 16-5-2-Recurrsion-patterns.cpp
- 16-5-3-Recurrsion-patterns.cpp
- 16-5-4-Recurrsion-patterns.cpp
- 16-5-5-Recurrsion-patterns.cpp
- 16-5-6-Recurrsion-patterns.cpp
09–10Structures
Open folder on GitHub · 25 files
- Lec 4-Structures.pdf
- Lecture09- Structures.pdf
- Lecture10- Structures contt.pdf
- 2-7-1-Structure-type-def-C115.cpp
- 2-7-2-Structure-type-def-C115.cpp
- 2-7-3-Structure-packing-C117.cpp
- 2-8-1-Structure-function.cpp
- 2-8-1a-Structure-function.cpp
- 2-8-2-Structure-function-constant.cpp
- 2-8-3-Structure-function-return.cpp
- 2-8-4-Structure-Pointers.cpp
- 2-8-5-structure-dynamic-2.cpp
- 2-8-5-structure-dynamic.cpp
- 2-8-6-Pointer-structure-to-pointers.cpp
- 2-8-7-Structure-pointer-in-structure.cpp
- 2-8-8-Structure-pointer.cpp
- 2-8-9-1-Structure-pointer.cpp
- 2-8-9-2-Structure-pointer.cpp
- 2-8-9-Structure-pointer.cpp
- 2-8-10-Structure-pointer.cpp
- 2-8-11-Structure-pointer.cpp
- 2-8-12-Structure-pointer.cpp
- 2-8-13-Structure-pointer.cpp
- Structures Reading material.pdf
- WhatsApp Image 2023-02-28 at 10.19.31 AM.jpeg
11–13Classes
Open folder on GitHub · 35 files
- Admin Class.txt
- Deep & Shallow Copy Constructor.txt
- Global Constructors.txt
- HOME WORK # 02.rar
- Homework2.docx
- Source.cpp
- Task 2.sln
- Task 2.vcxproj
- Task 2.vcxproj.filters
- Task 3.cpp
- Task 3.exe
- task_1.sln
- class.h
- function.cpp
- Q 1.cpp
- task_1.vcxproj
- task_1.vcxproj.filters
- Lecture11- Classes_2.pdf
- Lecture12- Classes contd.pdf
- Lecture13- Classes contd.pdf
- Lecture_#_11_Notes.txt
- Lecture_#_12_Notes.txt
- Lecture_#_13_Notes.txt
- Singleton Design Pattern _ Object Oriented Programming _ OOP _ Design Patterns _ C++ _ Rana Waqas.mp4
- Project1.sln
- main.cpp
- Project1.vcxproj
- Project1.vcxproj.filters
- Project1.sln
- main.cpp
- Project1.vcxproj
- Project1.vcxproj.filters
- CS_217_8_Identifying classes lecture and class exercise.pdf
- task Sol.txt
- this pointer.txt
14–16Operator Overloading
Open folder on GitHub · 12 files
- 2023-03-20 10-07-47.mp4 - Google Drive.mp4
- CS__Operator Overloading.pdf
- Lecture14- Operator Overloading - PartA.pdf
- Lecture15- Operator Overloading - PartB.pdf
- Lecture16- Operator Overloading - PartC.pdf
- Lecture_#_14_Notes.txt
- Project1.sln
- main.cpp
- Project1.vcxproj
- Project1.vcxproj.filters
- Static Data Members & Methods in C++ OOPS - C++ Tutorials for Beginners #24.mp4
- WhatsApp Image 2023-03-30 at 8.35.36 PM.jpeg
17–18Inheritance
19Association
Open folder on GitHub · 17 files
- Lec 7-Association, Composition & Aggregation.pdf
- Lecture19- Association_Aggregation_Composition.pdf
- Lecture19_ Notes.txt
- Lecture_18 Class Relationships- Aggregation (BCS-2A).ppsx
- Lecture_18 Class Relationships- Dependency, Association (BCS-2A).ppsx
- Lecture_19 Class Relationships- Composition (BCS-2A).ppsx
- Practice_Task.sln
- main.cpp
- Practice_Task.vcxproj
- Practice_Task.vcxproj.filters
- s1.PNG
- s2.PNG
- s3.PNG
- s4.PNG
- WhatsApp Image 2023-05-02 at 8.36.30 AM (1).jpeg
- WhatsApp Image 2023-05-02 at 8.36.30 AM.jpeg
- WhatsApp Image 2023-05-02 at 8.36.31 AM (1).jpeg
20Polymorphism
21Abstraction
22File Handling
Open folder on GitHub · 22 files
- Capture.PNG
- CS_2021.pdf
- file handling c++ _ what is file handling_ _ file handling in c++ tutorial _ c++ file manipulation.mp4
- File Handling Notes.txt
- file_handling.pdf
- Project1.sln
- customer_account_save.txt
- Project1.vcxproj
- Project1.vcxproj.filters
- Source.cpp
- Lecture22-Files and Streams.pdf
- Project2.sln
- account_save.txt
- FileName.cpp
- Project2.vcxproj
- Project2.vcxproj.filters
- Project1.sln
- File.txt
- FileName.cpp
- Project1.vcxproj
- Project1.vcxproj.filters
- Screenshot_20230603_113430.jpg
Labs
Fifteen weekly labs plus the lab assignment, quiz, mid and final exam, with my C++ solutions.
01Visual Studio setup and Google Test
Open folder on GitHub · 219 files
- CL-1004-OOP-Lab-Spring-2023-Outline.pdf
- gtest-1.7.0-rc1.zip
- header.h
- My.cpp
- Project1.vcxproj
- Project1.vcxproj.filters
- Sample-Test1.sln
- packages.config
- pch.cpp
- pch.h
- Sample-Test1.vcxproj
- test.cpp
- Set up googletest in visual studio 2019 (#include header file)_3.mp4
- Header.h
- Home Work-10.pdf
- Home Work-12.pdf
- Home Work-13.pdf
- Lab01.zip
- Lab 01 OOP (CS) Spring 2023.pdf
- lab 1 source.cpp
- Header.h
- Header.h.gch
- Lab 01 OOP (CS) Spring 2023.pdf
- lab 1 source.cpp
- lab 1 source.exe
- LAB 2 (1).cpp
- LAB 2.cpp
- test.cpp
- New folder.rar
- OOP_pointers & recursion.pptx
- Practice.com.zip
- 8-5-Pointer-dereference.cpp
- 8-6-Dereference-address-array-int.cpp
- 8-7-Pointer and function-alias.cpp
- 8-7-Pointer and function.cpp
- 9-1-2-Pointer.cpp
- 9-1-Pointer.cpp
- 9-2-Pointer.cpp
- 9-3-Pointer.cpp
- 9-4-Pointer.cpp
- 9-5-Pointer-segmentationfault.cpp
- 9-6-1-Pointer-segmentationfault.cpp
- 9-6-Pointer-segmentationfault.cpp
- 9-7-Pointer-segmentationfault.cpp
- 9-8-2-Pointer-segmentationfault-localftn.cpp
- 9-8-Pointer-segmentationfault-localftn.cpp
- 10-1-array-of-pointers.cpp
- 10-2-1-array-of-pointers.cpp
- 10-2-array-of-pointers.cpp
- 10-3-array-pointer.cpp
- 10-3a-array-pointer.cpp
- 10-4-2-array-pointer.cpp
- 10-4-array-pointer.cpp
- 10-5-Const.cpp
- 10-6-a-Const-pointer.cpp
- 10-6-b-2-Const-pointer.cpp
- 10-6-b-Const-pointer.cpp
- 10-6-c-Const-pointer.cpp
- 10-6-Const-pointer.cpp
- 10-6-d-1-Const-pointer.cpp
- 10-6-d-Const-pointer.cpp
- 10-7-Const-pointer.cpp
- 10-8-Const-pointer-array.cpp
- 10-9-Const-pointer-array.cpp
- 10-10-Const-pointer-array.cpp
- 10-11-2D-ary-pointers.cpp
- 10-12-2D-ary-pointers-ftn.cpp
- 11-1-Pointer-Arthimetics.cpp
- 11-2-Pointer-Arthimetics.cpp
- 11-3-Pointer-Arthimetics.cpp
- 11-4-Pointer-Arthimetic.cpp
- 11-5-Pointer-Arthimetic.cpp
- 11-6-Pointer-Arthimetic.cpp
- 11-7-Pointer-Arthimetic.cpp
- 11-8-Pointer-Arthimetic.cpp
- 11-9-2-Char-array-bufferoverflow.cpp
- 11-9-Pointer-Arthimetic.cpp
- 11-9-Ptr-on-char-ary.cpp
- 11-10-pointer-Arthimetic.cpp
- 12-1-Heap-stack.cpp
- 12-2-Heap-stack-New.cpp
- 12-3-Heap-stack-New.cpp
- 12-4-Heap-stack-New.cpp
- 12-5-Heap-stack-New.cpp
- 12-6-2-Heap-stack-New.cpp
- 11-9-Ptr-on-char-ary.cpp
- 12-6-3-Heap-stack-New.cpp
- 12-6-Heap-stack-New.cpp
- 12-7-Heap-stack-New.cpp
- 12-7-Heap-stack-New.exe
- 12-8-Dynamic-array.cpp
- 12-8-heap-dynamic-array.cpp
- 12-9-heap-mytry.cpp
- 12-10-heap-mytry-using-loop.cpp
- 12-11-heap-2d-ptr.cpp
- 13-1-Function.cpp
- 13-2-Function-.cpp
- 14-1-1-Ptr-1d-arary.cpp
- 14-1-2-Ptr-1d-arary.cpp
- 14-2-1-Ptr-2d-arary.cpp
- 14-2-2-Ptr-2d-arary.cpp
- 14-2-3-Ptr-2d-arary.cpp
- 14-2-4-Ptr-2d-arary.cpp
- 14-2-5-Ptr-3d-arary.cpp
- 14-2-5-Ptr-3d-arary.exe
- 14-2-6-Ptr-2d-arary.cpp
- 14-2-7-Ptr-2d-arary-function.cpp
- 14-3-1-pointer-array.cpp
- 14-3-2-pointer-array.cpp
- 14-3-3-pointer-array.cpp
- 14-3-4-pointer-array.cpp
- 14-3-5-pointer-array.cpp
- 14-3-6-pointer-array.cpp
- 15-1-1-Dynamic-memory.cpp
- 15-1-2-Dynamic-memory.cpp
- 15-1-3-Dynamic-memory.cpp
- 15-1-4-Dynamic-2D.cpp
- 15-1-5-Dynamic-2D.cpp
- 15-1-6-Dynamic-2D.cpp
- 15-1-6b-Dynamic-2D.cpp
- 15-1-7-Dynamic-2D.cpp
- 15-1-7-Dynamic-3D-1D-arry.cpp
- 15-1-8-Dynamic-3D.cpp
- 15-1-9-Dynamic-3D.cpp
- 15-1-10-Dynamic-3D.cpp
- 15-2-1Dynamic-memory.cpp
- 15-2-2-Dynamic-memory.cpp
- 15-3-1-Alias-pointers.cpp
- 15-3-2-Alias-pointers.cpp
- 15-3-3-Alias-pointers.cpp
- 15-3-4-Alias-pointers-strong.cpp
- 15-3-5-Alias-pointers-strong.cpp
- 15-3-6-Alias-pointers-strong.cpp
- 15-3-7-Alias-pointers.cpp
- 15-3-8-Pointer-as-ftn-parameters.cpp
- 15-3-9-Pointer-as-ftn-parameters.cpp
- 15-3-10-Pointer-as-ftn-parameters.cpp
- 15-3-11-Pointer-as-ftn-parameters.cpp
- 15-3-12-Pointer-as-ftn-parameters-double-pointer.cpp
- 15-3-13-Pointer-as-ftn-parameter-alias.cpp
- 15-3-14-Pointer-as-ftn-parameter-alias.cpp
- 15-4-1-Dangling pointers.cpp
- 15-4-2-Avoid-Dangling pointers.cpp
- 15-4-3-NULL-pointer.cpp
- 15-4-4-Casting-pointers.cpp
- 15-4-4a-Casting-pointers.cpp
- 15-4-5-Casting-pointers.cpp
- 15-4-6--Casting-pointers.cpp
- 15-5-1-void-pointer.cpp
- 15-5-2-void-pointer-C-80.cpp
- 15-5-3-void-pointer.cpp
- 15-5-4-void-pointer.cpp
- 15-5-5-void-pointer.cpp
- 15-5-6-void-pointer.cpp
- 15-6-1-char-array-string.cpp
- 15-6-2-char-array-string.cpp
- 15-6-3-char-array-string.cpp
- 15-6-4-char-array-string.cpp
- 16-1-1-Recurrsion-Message.cpp
- 16-1-2-Recurrsion-Message-base-condition.cpp
- 16-1-2-Recurrsion-Message-base-condition.exe
- 16-2-1-Recurrsion-sum-prog.cpp
- 16-2-1-Recurrsion-sum-prog.exe
- 16-3-1-Recurrsion-factorial.cpp
- 16-3-2-Recurrsion-fabo.cpp
- 16-4-1-Recurrsion-character-count.cpp
- 16-5-1-Recurrsion-patterns.cpp
- 16-5-2-Recurrsion-patterns.cpp
- 16-5-2-Recurrsion-patterns.exe
- 16-5-3-Recurrsion-patterns.cpp
- 16-5-4-Recurrsion-patterns.cpp
- 16-5-5-Recurrsion-patterns.cpp
- 16-5-6-Recurrsion-patterns.cpp
- 1-1-1-Structure-intro.cpp
- 2-1-1-Structure-intro.cpp
- 2-1-2-Structure-creation.cpp
- 2-1-2-Structure-integer.cpp
- 2-2-1-structure-c-109.cpp
- 2-2-2-structure-declare-variable-c-110.cpp
- 2-2-3-Struct-defination-c-110.cpp
- 2-2-3-Struct-variable-c-110.cpp
- 2-2-4-Struct-defination-c-110.cpp
- 2-2-5-Struct-defination-c-110.cpp
- 2-2-6-Struct-defination-with-initalization-c-110.cpp
- 2-2-7-Struct-defination-with-initalization-c-110.cpp
- 2-3-1-Accessing-Structures-C-111.cpp
- 2-3-2-Accessing-Structures-C-111.cpp
- 2-3-3-Accessing-Structures-C-111.cpp
- 2-3-4-Accessing-Structures-comparison-C-111.cpp
- 2-4-1-Array-of-structures-C112.cpp
- 2-5-1-Pointer-of-structures-C113.cpp
- 2-5-2-Pointer-of-structures-C113.cpp
- 2-6-1-Uniion-in-C-C114.cpp
- 2-7-1-Structure-type-def-C115.cpp
- 2-7-2-Structure-type-def-C115.cpp
- 2-7-3-Structure-packing-C117.cpp
- 2-8-1-Structure-function.cpp
- 2-8-1a-Structure-function.cpp
- 2-8-1a-Structure-function.exe
- 2-8-2-Structure-function-constant.cpp
- 2-8-3-Structure-function-return.cpp
- 2-8-4-Structure-Pointers.cpp
- 2-8-5-structure-dynamic-2.cpp
- 2-8-5-structure-dynamic.cpp
- 2-8-6-Pointer-structure-to-pointers.cpp
- 2-8-7-Structure-pointer-in-structure.cpp
- 2-8-8-Structure-pointer.cpp
- 2-8-9-1-Structure-pointer.cpp
- 2-8-9-2-Structure-pointer.cpp
- 2-8-9-Structure-pointer.cpp
- 2-8-9-Structure-pointer.exe
- 2-8-10-Structure-pointer.cpp
- 2-8-11-Structure-pointer.cpp
- 2-8-11-Structure-pointer.exe
- 2-8-12-Structure-pointer.cpp
- 2-8-13-Structure-pointer.cpp
- 2-8-13-Structure-pointer.exe
- sol.docx
- test.cpp
02File handling
Open folder on GitHub · 27 files
- i222327 Q02.rar
- i222327 Q02_2.rar
- LAB 2 OOP(CS) 2023.pdf
- lab 2(2).sln
- lab 2(2).vcxproj
- lab 2(2).vcxproj.filters
- Source.cpp
- students.txt
- lab 2(3).sln
- lab 2(3).vcxproj
- lab 2(3).vcxproj.filters
- Source.cpp
- students.txt
- LAB 2.cpp
- Lab 02.zip
- bill.h
- CASH n CARRY Inventory.cpp
- CASH n CARRY Inventory.exe
- modify.h
- report.h
- stock.h
- stockfile.txt
- MINI PROJECT LAB 2.sln
- MINI PROJECT LAB 2.vcxproj
- MINI PROJECT LAB 2.vcxproj.filters
- Source.cpp
- students.txt
03Memory layout, pointers and dynamic memory
Open folder on GitHub · 40 files
- lab3(2)_I222327.sln
- lab3(2)_I222327.vcxproj
- lab3(2)_I222327.vcxproj.filters
- Source.cpp
- Header.h
- lab3_I222327.sln
- lab3_I222327.vcxproj
- lab3_I222327.vcxproj.filters
- Source.cpp
- LAB 3-OOP(CS) 2023.pdf
- Lab_3.zip
- MinMaxArray.h
- Source.cpp
- Task(1).sln
- Task(1).vcxproj
- Task(1).vcxproj.filters
- Source.cpp
- Task 2.sln
- Task 2.vcxproj
- Task 2.vcxproj.filters
- Source.cpp
- Task 3.sln
- Task 3.vcxproj
- Task 3.vcxproj.filters
- Source.cpp
- Task 4.sln
- Task 4.vcxproj
- Task 4.vcxproj.filters
- Project1.sln
- Project1.vcxproj
- Project1.vcxproj.filters
- Source.cpp
- Source.cpp
- Task 5.sln
- Task 5.vcxproj
- Task 5.vcxproj.filters
- Source.cpp
- task 6.sln
- task 6.vcxproj
- task 6.vcxproj.filters
04Pointer revision and recursion
Open folder on GitHub · 29 files
- lab4_test.cpp
- OOP Lab 4 Manual.pdf
- LAB 4-OOP(CS) 2023.pdf
- Lab # 04.rar
- Source.cpp
- Source.exe
- Task 1.sln
- Task 1.vcxproj
- Task 1.vcxproj.filters
- Source.cpp
- task 2.sln
- task 2.vcxproj
- task 2.vcxproj.filters
- Source.cpp
- task 3.sln
- task 3.vcxproj
- task 3.vcxproj.filters
- Task 4.sln
- main.cpp
- Task 4.vcxproj
- Task 4.vcxproj.filters
- Task 5.sln
- main.cpp
- Task 5.vcxproj
- Task 5.vcxproj.filters
- Task 6.sln
- main.cpp
- Task 6.vcxproj
- Task 6.vcxproj.filters
052D and 3D arrays
Open folder on GitHub · 20 files
06Pointer questions
07Structures
08Classes and access specifiers
09Constructors: Account and Bank classes
10Constructors and the copy constructor
Open folder on GitHub · 19 files
11Shallow copy vs deep copy
12Operator overloading
13Inheritance
14Types of inheritance
15Abstract classes and pure virtual functions
A2Lab assignment 2 and report
FinalLab final exam paper and solutions
Open folder on GitHub · 21 files
- Final Exam Paper OOP LAB( BSCS-Z).pdf
- i222327_Final_Zip.rar
- Q_02(a).sln
- Q_02(a).vcxproj
- Q_02(a).vcxproj.filters
- Source.cpp
- Q_02(b).sln
- point.h
- Q_02(b).vcxproj
- Q_02(b).vcxproj.filters
- Source.cpp
- Q_02(c).sln
- Header.h
- Q_02(c).vcxproj
- Q_02(c).vcxproj.filters
- Source.cpp
- Q_03.sln
- class.h
- Q_03.vcxproj
- Q_03.vcxproj.filters
- Source.cpp
QuizLab quiz and practice questions
MidLab mid exam
Open folder on GitHub · 1 files
Assignments, Exams & Projects
Assignments, quizzes, exams, practice questions, the final projects and extra topics.
–Assignments
Open folder on GitHub · 53 files
- Assignment 1.pdf
- Assignment # 01.rar
- Assignment_01.pdf
- OOP_Assignment_1_Spring 2023.pdf
- Q_#_01 Solution.cpp
- Q_#_01 Solution.exe
- Q_#_02 Solution.cpp
- Q_#_02 Solution.exe
- Task 3.cpp
- Task 3.exe
- Task_#_04.cpp
- Task_#_04.exe
- Assignment # 02.rar
- Assignment_02.pdf
- OOP_Assignment_2_Spring 2023_.pdf
- Q 01.sln
- Display.h
- q 01.cpp
- Q 01.vcxproj
- Q 01.vcxproj.filters
- Structure.h
- link_list.cpp
- link_list.exe
- notes.txt
- Q 02.sln
- q 02.cpp
- Q 02.vcxproj
- Q 02.vcxproj.filters
- q 03.sln
- q 03.cpp
- q 03.vcxproj
- q 03.vcxproj.filters
- Q_06.sln
- Q03.cpp
- Q_06.vcxproj
- Q_06.vcxproj.filters
- Schedule.cpp
- Schedule.h
- task_05.sln
- circle.cpp
- circle.h
- Q02.cpp
- task_05.vcxproj
- task_05.vcxproj.filters
- Assignment 03.pdf
- OOP-Assignment3-Spring2023.pdf
- Task1.sln
- Q1.cpp
- String.cpp
- String.h
- Task1.vcxproj
- Task1.vcxproj.filters
- A4 Final.pdf
–Exams
Open folder on GitHub · 14 files
- OOP Final Paper Spring 2019.pdf
- OOP Final Spring 2021 - Solution.pdf
- OOP_FINAL_Fall 2019 0.1.pdf
- WhatsApp Image 2023-04-09 at 4.14.59 PM.jpeg
- WhatsApp Image 2023-04-09 at 4.15.00 PM.jpeg
- WhatsApp Image 2023-04-09 at 4.15.01 PM (1).jpeg
- WhatsApp Image 2023-04-09 at 4.15.01 PM.jpeg
- WhatsApp Image 2023-04-09 at 4.15.02 PM (1).jpeg
- WhatsApp Image 2023-04-09 at 4.15.02 PM.jpeg
- WhatsApp Image 2023-04-09 at 4.15.03 PM.jpeg
- OOP S1 solution.pdf
- Sessional 01 solution.pdf
- OOP M2 Solution.pdf
- OOP Sessional 02 solution.pdf
–Exception Handling
–Final Projects
Open folder on GitHub · 86 files
- Space Shooter- Galaxy Invasion.pdf
- Spaceshooter.zip
- .gitattributes
- .gitignore
- Admin.cpp
- Admin.h
- admin_accounts.txt
- Baby Care.txt
- build.bat
- Cart.cpp
- Cart.h
- Clothing and Fashion.txt
- Customer.cpp
- Customer.h
- customer_account_save.txt
- Classes.txt
- OOP_Project_Description.pdf
- ss01.png
- ss02.png
- ss03.png
- ss04.png
- ss05.png
- ss06.png
- ss07.png
- ss08.png
- ss09.png
- ss10.png
- ss11.png
- ss12.png
- ss13.png
- ss14.png
- ss15.png
- ss16.png
- ss17.png
- ss18.png
- ss19.png
- ss20.png
- ss21.png
- ss22.png
- ss23.png
- ss24.png
- ss25.png
- ss26.png
- ss27.png
- ss28.png
- ss29.png
- ss30.png
- ss31.png
- ss32.png
- ss33.png
- ss34.png
- ss35.png
- Electronics.txt
- Groceries.txt
- Health and Wellness.txt
- Home Appliances.txt
- Home Decor and Furniture.txt
- Household Essentials.txt
- Items.cpp
- Items.h
- ItemsCategory.txt
- Main.cpp
- Office and School Supplies.txt
- OOP_Project_Description.pdf
- orders.txt
- Other_Fun.h
- Personal Care.txt
- Pet Supplies.txt
- README.md
- Role.h
- run.bat
- generate_screenshots.py
- smoke_test.py
- Shopping_Portal.sln
- Shopping_Portal.vcxproj
- Shopping_Portal.vcxproj.filters
- Sports and Fitness.txt
- unit_smoke.cpp
- Vendor.cpp
- Vendor.h
- vendor_accounts.txt
- vendor_products.txt
- wishlist.txt
- OOP Project Rubric 2.0.pdf
- OOP Project.pdf
- StarterCode.zip
–Graphics In C++
–OOP Summary
–Practice Questions
Open folder on GitHub · 47 files
- C++ Program to find out the longest word in A String __ Find Length Of Longest Word In A String.mp4
- Dry_Runs & Undo_Redo Program.pdf
- mix data 2nd semester.pdf
- OPP.txt
- opp_prep.txt
- practice questions.pdf
- Practice.com.zip
- practice.cpp
- 11-9-2-Char-array-bufferoverflow.cpp
- 11-9-Ptr-on-char-ary.cpp
- 13-1-Function.cpp
- 13-2-Function-.cpp
- 14-2-7-Ptr-2d-arary-function.cpp
- 15-3-1-Alias-pointers.cpp
- 15-3-2-Alias-pointers.cpp
- 15-3-3-Alias-pointers.cpp
- 15-3-4-Alias-pointers-strong.cpp
- 15-3-5-Alias-pointers-strong.cpp
- 15-3-6-Alias-pointers-strong.cpp
- 15-3-7-Alias-pointers.cpp
- 15-3-8-Pointer-as-ftn-parameters.cpp
- 15-3-9-Pointer-as-ftn-parameters.cpp
- 15-3-10-Pointer-as-ftn-parameters.cpp
- 15-3-11-Pointer-as-ftn-parameters.cpp
- 15-3-12-Pointer-as-ftn-parameters-double-pointer.cpp
- 15-3-13-Pointer-as-ftn-parameter-alias.cpp
- 15-3-14-Pointer-as-ftn-parameter-alias.cpp
- 15-4-1-Dangling pointers.cpp
- 15-4-2-Avoid-Dangling pointers.cpp
- 15-4-3-NULL-pointer.cpp
- 15-4-4-Casting-pointers.cpp
- 15-4-4a-Casting-pointers.cpp
- 15-4-5-Casting-pointers.cpp
- 15-4-6--Casting-pointers.cpp
- 15-5-1-void-pointer.cpp
- 15-5-2-void-pointer-C-80.cpp
- 15-5-3-void-pointer.cpp
- 15-5-4-void-pointer.cpp
- 15-5-5-void-pointer.cpp
- 15-5-6-void-pointer.cpp
- 15-6-1-char-array-string.cpp
- 15-6-2-char-array-string.cpp
- 15-6-3-char-array-string.cpp
- 15-6-4-char-array-string.cpp
- Sum Infinite.cpp
- Using Range in the Case Values of Switch Statement _ C++ Programming Video Tutorial_2.mp4
- ~$y_Runs & Undo_Redo Program.docx
–Quizzes
–Text Book
Large Files
Three videos are attached to Release v1.0.
The rotate-matrix and gameplay videos are bigger than GitHub's 100 MB file limit, and the short Vulcan clip is kept with the gameplay video. Visual Studio build output (.vs/, x64/, object files) and NuGet packages/ are left out and listed in .gitignore; building a solution recreates them.
Screenshots
30 snapshots from across the repository. Click any image to enlarge it, use the arrow keys to move between images, or swipe on a phone.
No screenshots match your search.
Folder Structure
OPP_Repository/ ├── OPP COURSE/ │ ├── Assignments/ (53 files) │ ├── Exams/ (14 files) │ ├── Exception_Handling/ (15 files) │ ├── Final Projects/ (86 files) │ ├── Graphics In C++/ (9 files) │ ├── Lecture # 01 - 06 ( Pointers )/ (135 files) │ ├── Lecture # 07 + 08 ( Recursion )/ (47 files) │ ├── Lecture # 09 + 10 ( Structures )/ (25 files) │ ├── Lecture # 11 + 12 +13 ( CLASSESS )/ (35 files) │ ├── Lecture # 14 + 15 + 16 (Operator_Overloading )/ (12 files) │ ├── Lecture # 17 + 18 ( Inheritence )/ (6 files) │ ├── Lecture # 19 ( Association )/ (17 files) │ ├── Lecture # 20 ( Polymorphism )/ (3 files) │ ├── Lecture # 21 ( Abstraction )/ (7 files) │ ├── Lecture # 22 ( File_Handling )/ (22 files) │ ├── OPP Summary/ (7 files) │ ├── Practice Questions/ (47 files) │ ├── QUIZES/ (11 files) │ └── Text_Book/ (1 file) ├── OPP LAb/ │ ├── Lab # 01/ (219 files) │ ├── Lab # 02/ (27 files) │ ├── Lab # 03/ (40 files) │ ├── Lab # 04/ (29 files) │ ├── Lab # 05/ (20 files) │ ├── Lab # 06/ (7 files) │ ├── Lab # 07/ (11 files) │ ├── Lab # 08/ (5 files) │ ├── Lab # 09/ (14 files) │ ├── Lab # 10/ (19 files) │ ├── Lab # 11/ (11 files) │ ├── Lab # 12/ (14 files) │ ├── Lab # 13/ (10 files) │ ├── Lab # 14/ (17 files) │ ├── Lab # 15/ (11 files) │ ├── Lab Assignment/ (12 files) │ ├── LAB FINAL EXAM/ (21 files) │ ├── LAB QUIZ/ (3 files) │ └── Lab_Mid/ (1 file) ├── assets/ │ ├── screenshots/ 30 images │ ├── thumbs/ gallery previews │ ├── css/ js/ website ├── index.html ├── .gitignore ├── LICENSE └── README.md
Get the Files
Clone everything with Git, then build any lab in Visual Studio or with g++.
Clone the repository
git clone https://github.com/rohaan2802/OPP_Repository.gitBuild a single-file program
cd "OPP LAb/Lab # 15/Task 2/Task 2" && g++ -std=c++17 main.cpp -o media && ./mediaThe lab solutions are Visual Studio 2022 projects: open any .sln file and press Ctrl + F5.
License
Lecture slides, lab handouts, assignment statements and textbooks belong to their instructors at FAST-NUCES and to their authors and publishers. They are shared here only for learning and revision – see LICENSE. My own notes, code and the organisation of this repository are free to use for study.