c++ - 如何继承#include 类?

标签 c++ visual-c++

我有4个文件,

HomeScene.h
HomeScene.cpp
Options.h
Options.cpp

两个 *.h 文件都包含另一个 *.h
现在我试图在 Options.h 中继承 HomeScene.h

class OptionScene : public cocos2d::CCLayerColor,HomeScene

上面一行给出了很多错误。

class OptionScene : public cocos2d::CCLayerColor

上面一行没有错误

我的 HomeScene.h 中有一个 static bool var; 我正试图在我的选项场景中直接使用它。

最佳答案

为什么需要在 HomeScene.h 中包含 Options.h ?如果 OptionScene 是从 HomeScene 派生的类型,那么我不知道您为什么需要这样做。

如果您只需要声明指向在 Options.h 中声明的类型的指针/引用,您可以使用前向声明。

选项.h

#include "HomeScene.h"
class OptionScene
{
    // ...
};

HomeScene.h

class OptionScene; // forward declaration

class HomeScene
{
    OptionScene* o;
};

如果这是你的问题,那么这个问题将帮助你:When can I use a forward declaration?

关于c++ - 如何继承#include 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9111538/

相关文章:

c++ - 判断vector是否有重复

visual-c++ - 命令行上的MSVC 2008 Express

c++ - 在本地类中定义 lambda 时,C2326 函数无法访问 'bar'

c++ - 我可以在用 C++ 构造静态本地时访问它吗?

windows - 当传递的对象没有实现必要的接口(interface)时返回哪个错误代码?

c++ - 将 C++ 模板从 GCC 移植到 Visual C++ 时出错

visual-c++ - CMake:从定义文件生成导入库

c++ - 使用宏的函数访问

c++ - CRichEditCtrl OnUpdate() : how to know the start and end positions when a paste is received?

c++ tr1 enable_shared_from_this 有什么好处?