これは基本的なC++です。私はリニアリンクリストであるクラスを持っています。私は2つの構造体を宣言したいと思います。それらのうちの1つはクライアントが使用するためのものです(つまり、クラスに渡す情報)。もう1つの構造体はリンク先リスト(これは「ノード」)を管理するための実装者です。すなわち:クライアント構造体と.hファイルの実装構造体
//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;
};
私が混乱しているのは、これらを配置する場所です。クライアントがクラス定義の上で使用する構造体を配置するのが最善であると信じていますが、 "node"構造体を配置する場所はどこですか?これはプライベートにする必要がありますか?みんなありがとう!
?あなたは、構造体内の変数のアクセス修飾子、またはどのファイルに定義を入れるべきかについて質問していますか? –
* Aside *: 'name 'を' struct node'に複製する理由はありません。あなたがソートするときは 'note_ptr-> client_form-> name'を参照するだけです。 –
あなたが尋ねていることは明確ではありません。一般的に私は、可能な限り小さな範囲でオブジェクトを定義し宣言することを好みます。ノードがリンクされたリストによって必要とされるのであれば、リンクされたリストクラスのプライベートオブジェクトまたはプロテクトされたオブジェクトである可能性があります... – AJG85