gpt4 book ai didi

c++ - 具有相互指针的 friend 类

转载 作者:太空狗 更新时间:2023-10-29 23:42:25 24 4
gpt4 key购买 nike

如何创建两个类,这两个类的成员指针指向彼此的类类型,并且可以完全访问彼此的数据?换句话说,我需要两个这样的类:

class A
{
protected:
B *p;
};

class B
{
protected:
A *p;
};

我遇到了麻烦,因为我不符合 C++ 约定,显然,A 类不能声明 B 类,因为 B 稍后在代码中声明。

感谢帮助

最佳答案

您应该使用前向类声明。

//in A.h

class B; // forward declaration
class A
{
protected:
B *p;
friend class B; // forward declaration
};

//in B.h
class A; // forward declaration
class B
{
protected:
A *p;
friend class A; // forward declaration
};

关于c++ - 具有相互指针的 friend 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4460682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com