访问类对象
Accessing class object
我有三个.h和三个.cpp文件。
我在第一个 .h(比如 1.h(中创建了一个类的对象,该类位于 2.h 中。我想在我的 3.cpp 中使用该类对象。
1.小时
class One
{
bool pressed;
...
}
2.h
#include "1.h"
Class Two
{
public:
One object;
...
}
3.h
#include "2.h"
Class Three
{ ...
}
3.cpp
#include "3.h"
void Three::OnPressed()
{
object.pressed = true;
}
它允许我毫无怨言地制作对象,但是,我的程序在运行时会出现此错误:
错误 C2065"对象":未声明的标识符
我不认为这是一个困难的问题,但我很难通过搜索栏解释我的问题。如果你能帮助我,我将不胜感激。
OnPressed()
是Three
的成员,但Three
不是从Two
派生出来的,所以Three
没有任何OnPressed()
可以访问的object
成员。 这就是编译器所抱怨的。
您需要:
-
使
Three
源于Two
class Three : public Two
-
Three
给一个作为One
实例的成员(就像你对Two
所做的那样(:class Three { public: One object; void OnPressed(); ... }; void Three::OnPressed() { object.pressed = true; }
或者给它一个
Two
的实例:class Three { public: Two object2; void OnPressed(); ... }; void Three::OnPressed() { object2.object.pressed = true; }
相关文章:
- 按基类对象访问派生类资源时出错
- 使用基类对象访问派生的仅类方法
- 从 const 对象访问非 const 方法
- 如何在C++中使用类对象访问指针数据成员
- 如何通过不同的指针使用类的对象访问结构?(链表)(C++)
- 使用二进制搜索树中的迭代器对象访问左侧节点
- 为什么引用类型在使用临时对象访问时是左值
- 从父对象 c++ 访问子方法
- 无法通过指针或对象 c++ 访问受保护的成员
- 为什么可以从类中的对象访问类的私有变量
- 对类似"struct {double, int}"对象使用reinterpret_cast进行对象访问
- 通过无符号 char 别名进行对象访问,加载和存储时会发生什么?
- 从对象访问结构枚举
- 如何全局创建对象并使用该对象访问全局范围内的公共成员函数
- 在C 中,可以从第三个共享对象访问其他两个不同共享对象
- 如何在C 中提供一个可呼叫的对象访问,例如lambda
- C 向量对象访问
- C++是否可以从同级第二个派生对象访问第一个派生对象的受保护基础数据成员?
- 如何从类内实例化的对象访问私有变量
- 多态性:通过类文本或对象访问静态成员