0
问题:两个不同的类可以包含对方的值而不需要指针吗?
据我所知,为了让一个类在其内部保存另一个类作为数据,它需要知道另一个类存在于代码中。所以这是通过前向声明完成的。前向声明并不意味着它已经被定义,所以为了让类在它被定义之前保持它,它需要指向它。
我有几个不同的有效方式来完成这个完美的,但我最好使用原生指针的引用,所以我不会担心指针被删除某些地方在未来的代码。有没有办法使用引用,而不是指向包含彼此数据的类的指针?
这似乎是一个巨大的潜在内存泄漏,虽然... –
@JoeZ我看到代码中的问题。 “小孩jame(*(新父母(jame)))''意味着'jame'中的'adult'具有未定义的对小孩的引用。 – Andrew
代码中没有任何东西可以释放“父”。当“孩子”超出范围时,你已经泄露了“父母”。你可以尝试通过向'child'添加一个析构函数来解决这个问题,但是我不认为你可以编写正确的副本或复制指派构造函数,所以最终违反了Rule-of -3。你将不得不让你的课不可复制,这是相当不方便的。 –