Library Book Management System CPP
This is a Library Book Management System implemented in C++17.
It demonstrates:
- Inheritance (FictionBook, ScienceBook, HistoryBook inherit from Book)
- Polymorphism (virtual functions and overrides)
- Smart Pointers (
std::unique_ptr) - Static members (tracking active books)
- Move semantics (move constructor & assignment)
project/ ├── book.h ├── book.cpp ├── fictionbook.h ├── fictionbook.cpp ├── sciencebook.h ├── sciencebook.cpp ├── historybook.h ├── historybook.cpp ├── library.h ├── library.cpp ├── main.cpp ├── CMakeLists.txt └── README.md
Make sure you have:
- C++17 compatible compiler (g++, clang++, MSVC)
- CMake (3.10+)
- build-essential (Linux only)
sudo apt update sudo apt install build-essential
You can compile manually without CMake:
g++ main.cpp Book.cpp FictionBook.cpp ScienceBook.cpp HistoryBook.cpp Library.cpp -std=c++17 -Wall -Wextra -o library
./librarymkdir build
cd build
cmake ../
make
./LibraryBookManagementSystem