相互关联的类
Interlinked classes
本文关键字:关联 更新时间:2023-10-16
我有两个班:A和b。
我想:
类A有指向类B的指针
类B的方法可以访问A的私有成员
当我试图编译的时候,我得到了一个奇怪的错误列表,像这样:
"error C2614: 'A':非法成员初始化:'b_ptr'不是基类或成员。"
如何消除它们?
总体情况:
A类是一个大实体,B类是一个辅助类,分别读取输入文本文件和调整A类的设置。也许这个OOD有问题?
:
#include "B.h"
class A
{
// friend class B;
public:
A() : b_ptr(new B(this)){};
private:
int a_1;
int a_2;
private:
B* b_ptr;
};
"B.h":
#include "A.h"
class B
{
public:
B(A*const a) : a_ptr(a) {};
private:
A* const a_ptr;
};
你有一个循环依赖的头文件没有包含保护。
一个可能的解
你的"B.h"只需要一个前向声明。改变:
class A;
class B
{
public:
B(A*const a) : a_ptr(a) {};
private:
A* const a_ptr;
};
相关文章:
- 关联容器的下界复杂性:成员函数与非成员函数
- std::future_error:无关联状态
- 查找自动生成键并具有线性内存消耗的小型关联数组
- 如何在 OpenCV 中将图像与另一个图像相关联
- 删除提升存档对象也会删除与其关联的流?
- 变量如何以及在何处可能没有C++关联的名称?
- 将正态随机变量与任意 RHO(corrcoef) 相关联
- 试图(稍微)概括C++模板.关联容器键:值反转
- 如何打印源文件中与 GDB 中的程序流关联的所有行号
- 当前不会命中断点。没有调试器目标代码类型的可执行代码与此文件关联
- 与 std::unique_ptr 和抽象类关联的编译错误
- 如何创建一个对象创建函数,该函数将由与其关联的名称调用?
- 访问与使用 TraceLoggingWrite 提供的事件关联的用户数据
- 创建一个结构的关联数组,以创建一个缓冲区,供键快速访问
- 如何在 c++ 中创建分组多重映射键和关联值的表
- 为什么标准关联有序容器允许"const char*"作为其键?
- 如何使用 PHPCPP 传递对象数组,遍历每个对象并返回关联数组
- 枚举的复合赋值运算符真的应该根据其关联的算术运算符来定义吗?
- 如何使用 Ryzen 7 修复 Windows 上 Qt 5.9 线程的处理器关联
- 这些代码如何相互关联?