ができるようにするには、学生を管理するための追加の構造体を定義する必要があります。学生用の追加フィールドとしてidも追加する必要があります。当然の
struct StudentList { // Declaration: StudentList sl = new StudenList;
Student *list; // linkedlist used to store any number of students
Student *next; // pointer used to traverse to the next node of list
add(Student s) // Usage: Student s = new Student("Anne",15,3); sl.add(s);
delete(int id); // Usage: std::cin >> id; ls.delete(id);
// Deletes student record with id matching the parameter.
modify(int id); // Usage: std::cin >> id; ls.modify(id);
// Modifies student record with id matching the parameter.
}
この機能の実装では、リスト内の学生数をチェックし、その範囲(0 - 最大)を超えないことを確認する必要があります。このメソッドではリンクされたリストが使用されるため、ノードを作成し、ノードを削除し、ヘッドノードから末尾に移動するコードを実装する必要があります。
'new student'は' Student'クラスの新しいインスタンスを割り当てます。これが「新しい学生を追加する」に十分かどうかを判断するのに十分な情報を提供していません。学生を削除するための同上。一般的に、現代のC++では、C++コンテナはオブジェクトの動的なコレクションを維持する目的では一般的であるため、 'new' /' delete'はほとんど必要ありません。 –
私は考えています:どのように構造体を使用しますか?あなたが構造体を使いたいときにいつでも 'new'を書かなければならないという(間違った)印象を受けているのではないかと心配しています。 –
自分のプログラムにこれらのプロパティを持つ学生をX人登録する必要があります。だから私は構造体を使うことにしましたが、おそらくもっと複雑にしています。あなたはより良い(そしてより簡単な)方法を提案できますか? –