Question: Overview You will create a console application that manages books in a library, which includes adding new books, updating book information, searching for books, and

Overview
You will create a console application that manages books in a library, which includes adding new books, updating book information, searching for books, and checking books in and out.
Requirements
Abstract Data Types (ADTs)
Define an ADT for a `Book` with attributes like title, author, ISBN, and availability status.
Define an ADT for a `User` with attributes like name, user ID, and a list of borrowed books.
Array-Based Lists
Implement a template-based array list that can store any data type. Use this to maintain a list of `User` objects.
Linked Lists
Create a linked list to manage all the `Book` objects within the library system.
Inheritance
Design a base class `Person` and derive `User` from it, adding additional attributes specific to a library user.
Polymorphism
Implement at least one virtual function in the `Person` class that is overridden in the `User` class.
Templates
Utilize class templates to allow your array list to be used with both `Book` and `User` types.
Operator Overloading
Overload the insertion (`<<`) operator to print `Book` and `User` details.
Exceptions
Handle exceptions for at least two cases such as invalid user input and trying to borrow a book that is not available.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!