As a part of school project, I want to create a program which allows easy access to details about books and about borrowed books. I am planning to create the digital library in command line mode. What are your inputs about the project and classes that I need to design.

Excellent project!

class BasicDigitalLibrary
{
public:
    virtual ~DigitalLibrary() {}
    virtual void doIt() = 0;
};

Start from the project specifications. Build use case list, for example:

1. Add a book to the library
2. ...
...
N. List books borrowed to...
N+1. Add a new user...
... and so on

Rearrange use case list, join/split use cases...

Build an object model based on selected use cases.

Build a class list to implement the object model.

Implement these classes... an so on...