我正在制作部门的链表。扇区可以是directorySector或userSector类型。第一个扇区始终是目录扇区,其余部分直到运行时才知道。如何将directorySector链接到userSector?我没有示例代码,因为directorySector类型的扇区并不总是指向另一个directorySector。提前致谢!

struct directorySector{
directorySector *ptr;
};

最佳答案

您可以使用多态性通过基类的指针指向子类。您将需要确保跟踪该类型,以免弄乱这些类型并访问无效的数据类型。您可能需要强制转换值以返回children类。

class sector
{
   sector* sectorPtr;
};

class directorySector : public sector
{
   /*WhatEver*/
};

class userSector : public sector
{
   /*Whatever*/
};

int main()
{
   sector mySector;
   directorySector myDirectorySector;
   userSector myUserSector;
   mySector.sectorPtr = &myDirectorySector;
   mySector.sectorPtr = &myUserSector;

   return 0;
}

更多信息:

关于c++ - 2个类,都具有指针。需要他们要么指向一种自己,要么指向另一种,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25434040/

10-10 02:38