Section1

  • 首先,本次大作业的目的是锻炼同学们写工程的能力。无论是高中的OI系列竞赛,还是大学ACM/ICPC比赛,甚至是现在的机考,都锻炼的是同学们写单个文件的能力。而对于多个类的继承,互相调用,训练得比较少。

  • 助教已经为大家设计好了框架,而框架中每个类的具体实现,特别是私有域都是由大家自己来实现的。简单的说,你可以在每个类中随心所欲地增加一些内容,但是注意不能删除内容。另外,不能在外部定义新的类,因为最后测试时,只会将所给的.h和.cpp文件进行编译。

  • 其次,我们需要了解一下该project的结构。 project包括被管理的对象,管理者。 其中被管理的对象分为四类:

1. Kind

同一类书有相同的书名,ISBN号,作者等信息。不同类书ISBN号必然不同。注意:Kind类只是书的类别,并不指代特定的一本书。

2. Book

图书馆中同一类书可能会有若干本,这里的Book类指代特定的一本书,同时它还将记录该本书相关的读者信息等等。

3. Admin

图书馆中的管理员,虽然说是管理员,但是从project的角度来看,依然是被管理对象。

4. Reader

图书馆的广大用户,用户分多个类别。

  • 在该project中,管理者为Manager design Pattern,它负责从外部文件读入被管理对象信息,并存入内存中;将内存中的被管理对象信息写入外部文件中。 需要说明的是,每个被管理对象都对应一个管理者,例如Book的管理者为BookManager。
个人工具