我在 uni 有一个任务要做,基本上,我们从许多 txt 文件中获取一堆数据。数据的结构是可以读取的,对于这个问题,我会把它分成两个文件和两个类。数据示例如下:
Faculty.txt(PK,名称)
AT Advanced Technology
HESAS Health, Sport and Science
Department.txt(PK,名称,FK)
ET Engineering and Technology AT
BE Built Environment AT
CMS Computing and Mathematical Sciences AT
SAS Science and Sport HESAS
CS Care Sciences HESAS
PESD Professional Education and Service Delivery HESAS
这个想法是使用数据创建报告,该程序旨在使用链接列表、关系和虚拟函数。所以在代码中我们基本上有一个节点列表(我使用 FILO)——
-断章取义的问题-
(我不确定我是否得到了我们已经给出的节点和列表代码概念的讲座 - 我这样说是因为我无法弄清楚节点存储对象的内存地址的位置。除非我误解它并且节点是每个节点的孩子它扩展了它的类,因此它继承了该类的所有内容并将其添加到顶部?如果是这种情况,如果我们继承了所有功能-安全性,为什么我们需要在第一个位置创建一个虚函数?)
- 具有存储在其中的对象的指针。现在我实际上卡住的地方是加载数据 - 好吧 iv 将它全部加载到列表中,但我只将外键作为字符串加载,因为我需要基本上检查字符串 FK 与存储在上一个文件 iv 已加载(讲座很简单,给了我们一个简单的 1-8 流程,其中 1 没有 FK:))然后当我找到该对象时获取它的内存地址并将其用作 FK。这背后的想法是你基本上可以去 std::cout << departmentObj->getForeignKey()->getIdentifier(); 在这一点上我会从我的测试项目中发布一些代码(为了测试而砍掉),因为我不确定我是否在做任何降神会。
- 抱歉,这里的代码块有问题,所以它必须是粘贴箱。
List.cpp http://pastebin.com/Le3fz5YF
List.h http://pastebin.com/5yJYDM8N
Node.cpp http://pastebin.com/Pgas8eju
Node.h http://pastebin.com/TZPrEA4Q
Fac.cpp http://pastebin.com/0EGeGhdq
dep.cpp http://pastebin.com/G2yk6jCg
Main.cpp http://pastebin.com/npiCC6wX
参考加载器 http://pastebin.com/n6UdsYmW
所以基本上它归结为通过列表返回所需对象的内存地址。显然我没有得到如何正确访问节点和列表类来做到这一点。我希望能够做到这一点的方式只是有一个很好的代码行,我可以用它来替换我的加载器中的 addnode 行(我把它贴出来供参考)它看起来像这样:
departmentList->AddNode(new Department(holder[0], holder[1], facultyList->getPkObjAdd(holder[2])));
但ofc的问题在于如何返回该对象的内存地址。如果它必须是一个虚函数,我如何允许它返回多个对象类型,如教师和部门?
我不确定我是否做了很多降神会,我希望有人能帮助我。谢谢你的时间!!- 快速编辑,忘记 dep 和 fac.cpp 的