0

構造体について質問があります。C++ は私が学んでいる言語ではありませんが、演習を行う必要があります。

私はこのような構造体を持っています:

struct List
{
    int data;
    List* next;
};

そして、構造体の要素を追加/削除/印刷できるクラスとメソッドを取得したので、たとえば、メソッドを取得した要素を表示するには:

void Kopa::Print()
{
    List *tmp = p;
    while (tmp != NULL)
    {
        cout << tmp->data << endl;
        tmp = tmp->next;
    }
    tmp.struktura;
}

問題は、 List構造体に新しい構造体を追加してアクセスするにはどうすればよいかということです。構造体はこのように見えると思いますが、クラスメソッドでアクセスする方法がわかりません..

struct List
{
    int data;
    List* next;

    struct NewList
    {
        int data;
        NewList* next;
    };
};
4

2 に答える 2

0

最初に、他のメンバー変数を宣言するのと同じように、その構造体のメンバーを宣言する必要があります。

struct List
{
    struct NewList
    {
        int data;
    };

    NewList my_new_list;  // Declare a member
};

次に、必要に応じてメンバー アクセスをネストするだけで、他のメンバーと同じように使用できます。

List l;
l.my_new_list.data = ...;

NewList内部の構造体にアクセスしてローカル変数を宣言する方法を意味する場合はList、スコープ演算子を使用する必要があります::

List::NewList new_list;
new_list.data = ...;
于 2013-10-03T13:32:58.847 に答える