Skip to content

This repository contains solutions to Object-Oriented Programming (OOP) problem sheets assigned during my coursework at the Faculty of Science, Ain Shams University.

Notifications You must be signed in to change notification settings

0xsam1r/object-oriented-programming-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

السلام عليكم ورحمة الله وبركاته 

OOP Sheets Repository

📖 Overview

This repository contains solutions to Object-Oriented Programming (OOP) problem sheets assigned during my coursework at the Faculty of Science, Ain Shams University.
It serves as a collection of well-documented examples, exercises, and solutions that demonstrate key OOP concepts in C++.


🧩 Features

  • Organized Sheets: Each problem sheet is placed in its respective folder for easy navigation.
  • Detailed Explanations: Solutions include comments to explain the logic behind the implementation.
  • Practical Examples: Includes real-world applications of OOP concepts like encapsulation, inheritance, and polymorphism.

📂 Repository Structure

OOP-Sheets
│
├── sheet1                               
│   ├── homework.cpp       # Review on all lecture contant 
│   ├── problem1.cpp       # Review in basics of cpp
│   ├── problem2.cpp       # Functions
│   ├── problem3.cpp       # Functions And arrays
│   └── sheet #1.pdf 
├── sheet2
│   ├── homework1.cpp      # Review on everything related to structure
│   ├── homework2.cpp      # Review on everything related to Class
│   ├── problem1.cpp       # Structure, call by reffrence and value                     
│   ├── problem2.cpp       # Structure, functions
│   ├── problem3.cpp       # Class , Methods
│   ├── problem4.cpp       # integrity between Classes and Structure
│   └── sheet #2.pdf
├── sheet3
│   ├── homework.cpp       # Review on all lecture contant 
│   ├── problem1.cpp       # Class, construcor, static vairables 
│   ├── problem2.cpp       # Class, construcor, static vairables,recursive, friend functions
│   ├── problem3.cpp       # integraty beyween classes, friend functions
│   └── sheet #3.pdf
├── sheet4                              
│   ├── homework.cpp       # Review on all lecture contant 
│   ├── problem1.cpp       # operator overloding, friend operator overloading functions
│   ├── problem2.cpp       # operator overloding, friend operator overloading functions
│   └── sheet #4.pdf
├── sheet5
│   ├── data.h             # Header-file for problem1.cpp
│   ├── mark.h             # Header-file for problem2.cpp
│   ├── problem1.cpp       # post-fix, pre-fix, more operator overloading{iostream}, handle header files
│   ├── problem2.cpp       # post-fix, pre-fix, more operator overloading{iostream}, handle header files
│   └── sheet #5.pdf
├── sheet6                             
│   ├── problem1.cpp       # Composition (Containership), operator overloading{iostream}, friend funcions
│   ├── problem2.cpp       # Single Inheritance, friend functions
│   ├── problem3.cpp       # Multiple Inheritance
│   ├── problem3.cpp   
│   └── sheet #6.pdf
├── sheet7                                         
│   ├── problem1.cpp       # Multilevel Inheritance, override functions
│   ├── problem2.cpp       # Diamond-shaped inheritance (Hybrid Inheritance), override functions
│   └── sheet #7.pdf
├── sheet8
│   ├── problem1.cpp       # Single inhertince, polymorphism, virtual functions, override
│   └── sheet #8.pdf
├── sheet9
│   ├── problem1.cpp       # polymorphism, inhertince, Virtual functions, abstract class
│   ├── problem2.cpp       # templete class
│   └── sheet #9.pdf
│
└── README.md  # Main repository README file

Mesure by difficult

├── basics                # struct, Classes, Objects, and Methods
│   ├── sheet1
│   ├── sheet2
│   └── sheet3          
│
├── midlevel              # encapsulation and operators
│   ├── sheet4
│   ├── sheet5
│   └── sheet6
│
└── advanced             # Inheritance and polymorphism and template
    ├── sheet7
    ├── sheet8
    └── sheet9
            

🛠 Topics Covered

  1. OOP Basics:
    • Classes and Objects
    • Data Members and Member Functions
    • Function Overloading
    • Operator Overloading
  2. Inheritance:
    • Single and Multiple Inheritance
    • Access Modifiers
  3. Polymorphism:
    • Abstraction classes
    • methods overriding
    • Virtual Functions
  4. Templates:
    • Class Templates

🚀 Usage

To compile and run any of the .cpp files:

  1. Clone this repository:

    git clone https://github.com/samir176520/oop-sheets.git
    cd oop-sheets
  2. Navigate to the folder containing the desired sheet and file.

  3. Compile the code using a C++ compiler (e.g., g++):

    g++ Problem1.cpp -o Problem1
    ./Problem1

📚 How to Contribute

Contributions are welcome! If you'd like to improve solutions or add new examples, follow these steps:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Add detailed explanation for Problem X"
  4. Push to your fork and create a pull request.

📝 License

This repository is for educational purposes. Feel free to use and modify the content for personal or academic use.

About

This repository contains solutions to Object-Oriented Programming (OOP) problem sheets assigned during my coursework at the Faculty of Science, Ain Shams University.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages