我有这个个人图书馆管理项目。我有一些Media
的派生类列表和Person
的列表。我还必须有一个Loan
列表,它引用Media
的实例和Person
的实例。我使用类Loan
中的两个指针实现了这个。
问题是用户必须能够删除Media
和Person
列表中的实例。我的问题是,如何检查没有Loan
指向该实例以防止用户删除它?
如果是这种情况,您还可以建议我实施Loan
类的更好方法。
如果您需要,我会提供有关项目结构的更多信息。 请考虑这是一个介绍C ++ OO课程的项目,所以我会避免使用过于先进的技术。
答案 0 :(得分:0)
引用计数和共享指针,尽管在您的入门课程中接受这一点是值得怀疑的。因此,我建议您应该重新考虑您的设计,以避免多次引用。
答案 1 :(得分:0)
如果你想坚持使用非常简单的C ++代码,那么你可以通过多种方式实现这一目标。您可以循环遍历所有贷款并检查它们是否都不是您要删除的人员或媒体。
或者正如贷款引用的人和媒体实例一样,您可以使人和媒体也持有对贷款的引用。这种方法的一个优点是您可以轻松检测媒体项目何时已经借出,并发症是一个人可以借出多个媒体项目,并且在返回媒体项目时还有更多内务处理。