C++ 创建嵌套类中的对象

C++ 创建嵌套类中的对象,c++,arrays,class,object,C++,Arrays,Class,Object,我有以下课堂示意图: class ListOfArrays { class ArrayNode { public: int* data_; int size_; ArrayNode* prev_; ArrayNode* next_; ArrayNode(int* data, int size) : data_(data), size_(size), next_(0), prev_(0) {} }; ArrayNode*

我有以下课堂示意图:

class ListOfArrays {

class ArrayNode {

    public:

    int* data_;
    int size_;
    ArrayNode* prev_;
    ArrayNode* next_;

    ArrayNode(int* data, int size)
        : data_(data), size_(size), next_(0), prev_(0) {}

};

ArrayNode* head_;
int size_;

public:

ListOfArrays()
    : size_(0), head_(new ArrayNode(0, 0)) {
    head_->next_ = head_;
    head_->prev_ = head_;
}
};

如何在主函数ArrayNode中创建全部在ListOfArrays中的对象?

因为类
ArrayNode
ListOfArrays
的私有部分声明,这会阻止
ListOfArrays
类之外的任何引用。

因为
ArrayNode
是一个
私有的
ListOfArrays
,对于“如何在主函数ArrayNode对象中创建”这个问题的答案很简单:您没有。听起来像
ArrayNode
ListOfArrays
类中的一个内部模块,因此您不希望在该类之外的任何地方使用它(例如,在
main
中,您应该只实例化
ListOfArrays
对象)。在继续实施之前,您可能应该仔细重新考虑您的软件设计。好的,我明白了,请将此作为答案发布。声明
public
时,可以“本地”解决问题(即修复编译错误)值得注意的是,真正的问题在于将此功能(最初打算作为内部机制)公开给外部使用的想法(即,真正的问题是通用软件设计,而不是手头的特定编码错误)。