C++继承循环依赖

标签 c++ inheritance

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

class fileSystemItem{
    private:
    Directory* parent;
};

class Directory : public fileSystemItem{

};

最佳答案

目录的前向声明:

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

class Directory : public FileSystemItem{

};

注意大小写一致。

关于C++继承循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231016/

相关文章:

c++ - 现代编译器中的 const 与 #define

C++ 隐藏符号链接(symbolic link)

c++ - Ubuntu Mate 上的 WiringPi

c++ - 我在哪里可以找到真正的 arm-none-linux-gnueabi?

c++ - 用 char* 增加数组 [C++]

C# 简化并可能概括了我的对象克隆方法

Swift 继承/对象结构

python - 同时使用父属性和重写子属性的继承

python - 如何在Python中根据子类类型定义基类参数?

python - 关于继承和 super()