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个大类来调用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();
是一个完全合法的C++语句,因为所有涉及的成员都具有public
访问权限。然而,由于语句只能出现在函数体中,所以放在哪里毫无意义。
1)制作一个单独的
2) 初始化它&包括所有要保留的对象。
3) 从任意位置访问singleton实例。
4) 要意识到这是一个可怕的方式来组织你的程序。
相关文章:
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 为什么C++在将一个对象复制到另一个对象时需要对这两个对象进行低级常量限定
- 检查哪个对象调用了另一个对象的对象方法
- C++ 如何在将新对象分配给另一个对象时创建新对象
- 为什么我可以在不重载 "=" 运算符的情况下将一个对象分配给另一个对象?
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- 如何使用函数将一个对象的输入复制到另一个对象中
- 为什么我可以使用 memcpy 将一个对象变量复制到另一个对象变量
- 如何将包含另一个对象向量的对象保存到文件中,并使用C++中的二进制文件从文件中读回?
- 我重载了 << 和 = 运算符。为什么当我将一个对象分配给另一个对象并尝试打印它时,我会被打印出来?
- 打印对象的映射,其中另一个对象作为键
- 如何通过另一个对象中的命令正确地从一个对象返回数据
- 为什么将两个对象分配给另一个对象后,两个对象不一样?
- 复制赋值函数如何访问另一个对象的私有成员(Stroustroup 原则和实践书)?
- 为什么数组中对象的析构函数在被另一个对象替换时不被调用?
- C++将带有重载构造函数的对象添加到另一个对象
- 如何将指针从unique_ptr传递到另一个对象并管理寿命
- 如何将"this"的生命周期移动到C++中的另一个对象中?
- 2 个 COM 对象,并在另一个对象中使用其中一个对象的接口
- 将列表的对象C++移动到另一个对象