C++继承循环依赖

mrk*_*rks 1 c++ inheritance

我正在将一些C#代码移植到C++并遇到以下问题,请参阅下面的简化代码.我的文件系统类依赖于目录类,而目录类继承自文件系统类.这似乎有效,C#但不是C++.有一个简单的技巧来打破这个?

class fileSystemItem{
    private:
    Directory* parent;
};

class Directory : public fileSystemItem{

};
Run Code Online (Sandbox Code Playgroud)

Luc*_*ore 6

前瞻性声明directory:

class Directory;
class FileSystemItem{
    private:
    Directory* parent;
};

class Directory : public FileSystemItem{

};
Run Code Online (Sandbox Code Playgroud)

注意一致的大写.