Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sarmad426/oop

Object Oriented Programming in C++. Exercises and pillars of OOP such as inheritance , polymorphism , encapsulation and abstraction.
https://github.com/sarmad426/oop

Last synced: 5 days ago
JSON representation

Object Oriented Programming in C++. Exercises and pillars of OOP such as inheritance , polymorphism , encapsulation and abstraction.

Awesome Lists containing this project

README

        

# OOP
Object Oriented Programming in C++. Exercises and pillars of OOP such as inheritance , polymorphism , encapsulation and abstraction.
### To get the Repository link on remote
git remote -v

[Repository link](https://github.com/Sarmad426/OOP)

## Main Topics
- Classes and Objects
- Access Specifiers
- Constructors
- Destructors
- Member Functions
- Constructor Overloading
- Scope Resolution Operator
- Static Variables
- Static Functions
- Friend Function
- Friend Class
- Operator Overloading
- Passing and Resturing object from a function
- Inheritane (A method in which a class Extends the properties of another class.)
- Parent class Constructor and Member Functions
- Multilevel Inheritance
- Multiple Inheritance
- Containership
- Polymorphism

Final Project Using Object Oriented Programming Technique.

### Library Management System

**Description:**

Create a Library Management System using Object-Oriented Programming principles in Python. This project involves designing and implementing classes to represent books, users, and the overall library system. The system should allow users to borrow and return books, search for books, and display information about the library's inventory.

**Step-by-Step Guide:**

1. **Define Classes:**
- Create a `Book` class with attributes such as title, author, ISBN, and availability status.
- Create a `User` class to represent library users with attributes like user ID, name, and borrowed books.

2. **Library Class:**
- Implement a `Library` class that will manage the overall system.
- Include methods to add books to the library, remove books, and display the available books.
- Keep track of users and their borrowed books.

3. **Borrowing and Returning:**
- Implement methods in the `Library` class for users to borrow and return books.
- Ensure that a user cannot borrow more books than allowed, and handle returns appropriately.

4. **Search Functionality:**
- Implement a search function to allow users to find books by title, author, or ISBN.

5. **User Interface (Optional):**
- Create a simple command-line interface to interact with the Library Management System.
- Allow users to choose actions such as borrowing, returning, searching, and displaying library information.

6. **Testing:**
- Write test cases to ensure that the system functions correctly in various scenarios.
- Test edge cases such as attempting to borrow a non-existent book.