繁体   English   中英

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

[英]C++ How to access an object of another class?

我想拥有一个将所有对象都保存到其他类的类。 因此,例如:如果玩家等级想要成为敌方等级的成员,我想使用该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();
 }

oh.enemy.member(); 因为涉及的所有成员都可以public访问,所以它是完全合法的C ++声明。 但是,由于语句只能出现在函数体中,因此没有意义。

1)单身

2)初始化它并包括您要保存的所有对象。

3)您可以从任何地方访问单例实例。

4)意识到这是一种构造程序的可怕方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM