gpt4 book ai didi

c++ - 处理父/子类关系中的循环包含

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:12:08 25 4
gpt4 key购买 nike

假设我创建了一个类,比如 Parent,它与 Child 具有组合关系。父类包含子级列表。

我希望所有子级都持有对父级的引用,因此每个子级都拥有一个Parent 指针。

这会造成循环包含。我在 parent.h 中引用了 Child,在 child.h 中引用了 Parent。因此 Parent 需要包含 Child,而 Child 需要包含 Parent

解决此问题的最佳方法是什么?

最佳答案

你必须使用前向声明:

//parent.h
class Child; //Forward declaration
class Parent
{
vector<Child*> m_children;
};

//child.h
class Parent; //Forward declaration
class Child
{
Parent* m_parent;
};

关于c++ - 处理父/子类关系中的循环包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4184351/

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