Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/sarmad426/oop
- Owner: Sarmad426
- Created: 2023-02-09T14:06:09.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-29T14:49:44.000Z (about 1 year ago)
- Last Synced: 2023-10-29T15:31:30.324Z (about 1 year ago)
- Language: C++
- Size: 86.9 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
- PolymorphismFinal 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.