我正在制作部门的链表。扇区可以是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/