我正在制作链接列表。扇区可以是directorySector或userSector类型。第一个扇区始终是目录扇区,其余部分直到运行时才知道。如何将directorySector链接到userSector?我不能拥有示例代码,因为directorySector类型的扇区并不总是指向另一个directorySector。提前谢谢!
struct directorySector{
directorySector *ptr;
};
答案 0 :(得分:2)
您可以使用多态来指向带有基类指针的子类。您需要确保跟踪类型,以免混淆类型并访问无效的数据类型。您可能需要转换值以返回子类。
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;
}
更多信息: