C++ 如何访问另一个类的对象?

标签 c++ class object inheritance

我想要 1 个类来保存我其他类的所有对象。 因此,例如:如果玩家类想要敌人类的成员,我想使用该 1 类访问敌人类。

一个例子:

class objectHolder{
public:
    enemyClass enemy;
};

class enemyClass{
public:
    void member();
};

class player{
public:
    objectHolder oh;
    oh.enemy.member(); //I KNOW THIS IS ILLEGAL BUT I NEED SOMETHING LIKE THIS
};

我知道代码不正确并且编译不好,但我希望你能理解。有谁知道如何实际做到这一点?因为我实际上需要所有类都可以访问的 1 个类。每个类都可以通过使用这 1 个大类从其他类调用 getter 和 setter 以及其他东西。

我希望我已经足够清楚了,在此先感谢。

最佳答案

你不能在类主体中调用函数......试试这段代码可能有用

 class enemyClass{
 public:
void member(){std::cout<<"Test";}
 };
class objectHolder{ 
public:
enemyClass enemy;
enemyClass getEnemy(){return enemy;}
};

class player{
public:
objectHolder oh;
void getresult(){oh.getob().member();}
};
 int main()
{
player p;
 p.getresult();
 }

关于C++ 如何访问另一个类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34024923/

相关文章:

javascript - 如何根据另一个对象数组过滤一个对象数组?

c++ - 来自 Symbian 中的 Xml-parser 的 TDesC8 变量中的 UTF8 编码文本锥

html - 在 css 中悬停 - 文本会破坏悬停?

c++ - 从数组中删除元素的函数不起作用

ruby - 从外部前置后如何调用原始方法

c++ - 在另一个类中创建一个类指针 vector ?

javascript - 为什么即使我们在使用 new 关键字创建对象时手动将其更改为另一个构造函数,也会执行 A 对象的构造函数?

java - 在 Java 中将列表的列表保存在对象文件中

c++ - 当我在我的 xcode 项目中使用 #include <OpenGL/gl.h> 行时,它在哪里寻找 gl.h 文件?

c++ - 为什么将树存储为连续的内存块?