可视化将实例传递到另一个类并访问C

visual Pass an instance to another class and access it c++

本文关键字:访问 另一个 实例 可视化      更新时间:2023-10-16

我只是将指针传递给一个类实例的指针到另一个类,但我只是无法从指针中访问任何内容。真的,真的开始困扰我。这是代码的一个非常简单的示例:

//manager.h
Game* game = new Game();
BClass* bc = new BClass(this);
//bclass.h
BClass(Manager* bcref) {
    bcref->game //error
    bcref->bc //error
}
//The errors are "left of ->x must point to class/struct/union/generic type.

我知道这是因为我需要转发声明,但添加诸如"班级经理"之类的东西;顶部似乎什么也没做。我仍然无法访问成员或方法。我真的在尝试做一些非常简单的事情,而且我已经把头发拉了几个小时。我已经谷歌搜索了几乎所有我可能的东西。有什么想法吗?

为了能够做到这一点:

BClass* bc = new BClass(this);

Manager需要BClass的定义。大概是在bclass.h中。为了做这个

bcref->game;

BClass需要Manager的定义。这大概是在manager.h中。

因此,您需要将每个标头包含在另一个标题中,这将导致循环包含依赖性。您真正需要做的是通过分别将实施方式移至bclass.cppmanager.cpp,并仅在标题中使用前向声明来打破依赖性。