有 2 个类,如何在上面的类中使用下面类的对象
There are 2 classes , how do I use object of below class in above class?
例如,我有 2 个按以下顺序定义的类......
class A
{
int value;
printValue(B b)
{
cout << b.value
}
};
class B
{
int value;
printValue(A a)
{
cout << a.value;
}
}
如何在 A 中使用 B 对象,因为 B 定义如下?
可以将类的声明和实现分开,在声明头文件中前向声明它们,并在函数中使用引用。
文件 A.h
class B; // forward declaration
class A {
public:
int value;
void printValue(const B& b) const; // pass by reference
};
文件 B.h
class A; // forward declaration
class B {
public:
int value;
void printValue(const A& a) const; // pass by reference
};
然后,具有单独的实现文件。例如,A
的实现文件A.cpp
:
#include "A.h"
#include "B.h"
void A::printValue(const B& b) const {
std::cout << b.value;
}
同样对于B.cpp
.
请注意,我已经修复了printValue
函数缺少的返回类型,并使这些函数const
。
相关文章:
- 使用迭代器时如何访问对象在向量中的位置?
- "main"函数堆栈中的对象在第一个任务运行时被覆盖 (FreeRTOS)
- 准确了解对象在内存中的映射方式
- 为什么我的 constexpr 对象在我的函数中不是 constexpr?
- 如何删除已输入的书以及如何使标题,语言和名称在上面放置空格不会出错?
- 类对象在 c++ 中是否具有数据类型?
- 在函数中声明的 ifStream 对象在发布模式下不起作用
- 堆分配对象中的堆栈对象在 c++ 中在哪里分配?
- 临时对象在C++中是不可避免的吗?
- ::grpc::ServerReaderWriter 对象在另一个线程中一段时间后无法调用
- 在 if 语句中声明时如何访问类对象?(在 C++ 中)
- delete如何知道对象在内存中的起始位置
- C++ csv 文件无法正确加载到矢量,它似乎知道对象在那里但不显示它们
- 如何修复对象在释放后可能修改的malloc错误
- 对象在称为指向父类的指针时会丢失其成员的数据
- 类对象在 int main() 中'undefined'
- 我的一些 D3D11 对象在调用某些设备上下文函数时将自身作为 ComPtrs 为空
- 临时对象在 C++ 中的行为方式?
- C++ GLUT 使对象在视口外消失
- 当对象在屏幕空间中较小时,OpenGL 更新缓慢