可以访问容器值/变量的子项(方框和内容示例)

Sub-items having access to container values/variables (Box and contents example)

本文关键字:方框 访问 变量      更新时间:2023-10-16

如果我有一个盒子,里面有一千个项目,我将创建一个名为box的类。然后我在Box中有一个方法,它将创建一千个项目。

class Box
{
public:    
    bool isOpen = true;
    Item *p_boxContents  //Create pointer to a thousand Item objects
    void createBoxContents()
    {
        p_boxContents = new Item[1000];
    }

现在我有一个Item类。请记住,我将创建其中的许多,并且我希望它们中的每一个都可以访问Box成员变量isOpen。在不为指向Box地址的"Item"的每个实例化提供指针成员的情况下,如何做到这一点?

起初,我通过使用类继承来处理这个问题,但有人告诉我这是错误的,我知道这种情况更适合放在组合而不是继承的范围内。

我才刚开始编程,几天来我一直在努力解决这个问题,有人想给我一个显而易见的答案吗?

如果任何代码都不应该从外部访问Item,那么您可以在Box内部使用和内部类。

您可以在此处阅读Item如何访问Box中的成员: