【发布时间】:2011-07-03 10:16:43
【问题描述】:
我很抱歉标题。我好像有问题。我只是一个初学者,如果之前有人问过这个问题,我很抱歉。我无法找到一个直接的答案。 (当我搜索类、指针和子类时,我得到关于传递父或子指针的结果......我不想传递(这个)子或父指针,我只想传递我在子类上初始化的指针。 . 给父母)。我在这里尝试做的最好用代码来解释:
class App
{
public:
virtual void init(void) { window = &BasicWindow(); }
virtual void createWindow(void) { window->create(); }
protected:
Window *window;
};
class Game : public App
{
public:
virtual void init(void) { window = &OpenGLWindow(); }
};
int main ()
{
App *game = &Game();
game->init();
game->createWindow();
return 0;
}
这合法吗?
我有一个抽象的 Window 类,BasicWindow 和 OpenGLWindow 派生自该类。
但是,当我创建窗口时,我在 App::createWindow() 函数内的 window->create() 处遇到 Access violation reading location 错误。
谢谢
【问题讨论】:
标签: c++ class inheritance variables pointers