2 u012377333 u012377333 于 2015.06.04 16:59 提问

两个类互相是对方的成员变量指针

比如有A,B两个类:
class A
{
public:
A();
~A{};
private:
B *b;
};


class B
{
public:
B();
~A{};
private:
A *a;
};
这代表什么意思,用什么特殊的含义么?

3个回答

caozhy
caozhy   Ds   Rxr 2015.06.04 17:04
已采纳

这很正常,比如双向链表中相邻的两个节点就互相包含对方的指针。

u012377333
u012377333 ths
2 年多之前 回复
u012377333
u012377333 ths
2 年多之前 回复
u012377333
u012377333   Rxr 2015.06.04 17:01

B类的析构函数写错误了,笔误,不影响我要问的问题

nswcfd
nswcfd   2015.06.04 18:14

就是两个结构互相引用,通常用在1:1映射的场景,但也不绝对。

比如 A=学生,B=班级,A->B是说一个学生属于某个班级,B->A是说,每个班级有个学生当班长。

Csdn user default icon
上传中...
上传图片
插入图片