User Class
用户类
User
- User为虚基类,作为该project用户类的基础。每个用户对象需要有特定的用户名和密码,注意用户名不可重复。
Admin
- Admin为管理员,管理员有一组特定的操作权限,比如说搜索读者,增添/删除一本书等等。
Reader
-
读者,即用户。读者分为两种,教师和学生,教师的权限比学生大(比如说教师的借书上限大于学生)。需要注意的是,读者类是一个需类,我们在使用的时候,经常写成如下格式:
Reader *reader = new Student();
和管理员相似,读者也有一组特定的操作权限,包括借书,还书,预约,续借以及返回当前罚金等等。罚金是这样计算的,超期未还需要计算罚金,每本书每超期一天则罚金数加一。
Student
-
该project规定,学生不能预约图书馆的图书,所以在调用
Book* Student::reserve() 始终返回一个空指针。
Teacher
- 预约书是教师的特别权限,但是这里需要说明一下: