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.
ArrayBased Lists
Implement a templatebased 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
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
