Model a Library Management System using multi-class aggregation across Book, Member, and Librarian:
bookID (int), title (std::string), author (std::string), isAvailable (bool, default true).setAvailability(bool status), getAvailability() const, display() const, getTitle() const.memberID (int), name (std::string), Book* borrowedBooks[3] (pointers), int borrowedCount.borrowBook(Book* b) (marks book unavailable), returnBook(Book* b), displayBorrowedBooks() const.librarianID (int), name (std::string), Book* catalog[10], int catalogSize.addBookToCatalog(Book* b), displayAvailableBooks() const.Librarian catalog.[✓] Hassan Raza borrowed 'Clean Code' [✓] Hassan Raza borrowed 'Introduction to Algorithms' [*] Books currently borrowed by Hassan Raza: - [101] 'Clean Code' by Robert C. Martin | Status: BORROWED - [102] 'Introduction to Algorithms' by CLRS | Status: BORROWED === Available Books in Library Catalog === - [103] 'Design Patterns' by Gang of Four | Status: AVAILABLE [✓] Hassan Raza returned 'Clean Code' === Available Books in Library Catalog === - [101] 'Clean Code' by Robert C. Martin | Status: AVAILABLE - [103] 'Design Patterns' by Gang of Four | Status: AVAILABLE [✓] Library aggregation verified (Time: 0.008s, Memory: 2.1 MB)