1

さて、これは基本的な C++ です。Linear Linked List であるクラスがあります。2 つの構造体を宣言します。そのうちの 1 つはクライアントが使用するもの (つまり、クライアントがクラスに渡す情報) であり、もう 1 つの構造体は実装者である私がリンク リストを管理するためのものです (これは「ノード」です)。すなわち:

//this is the one for client use
struct form {
    char *name;
    int age;
    char *address;
    //etc.
};

struct node {
    char *name; //same as in above but I am sorting the LL by this so I need it out
    form *client_form;
    node *next;
};

私が混乱しているのは、これらをどこに配置するかです。クライアントが使用する構造体をクラス定義の上に配置するのが最善だと思いますが、「ノード」構造体を配置するのに最適な場所はどこですか。これは私的に行くべきですか?みんなありがとう!

4

1 に答える 1

3

ノード構造は、単純に .cpp ファイルに配置できます。ヘッダーにノードを参照するものがある場合、たとえば「struct node *firstNode」の場合、「struct node;」と言って、ヘッダーの上部近くでそれを前方宣言する必要があります。

したがって、.h:

struct node;
struct form {
   // form fields
};

class MyStuff {
   private:
      struct node *firstNode;
   // more Stuff
};

.cpp:

struct node {
   // node fields
};

MyStuff::MyStuff(struct form const& details) {
    // code
}
于 2012-04-18T19:11:13.953 に答える