タイトルすみません。以下のコードは、問題の説明に役立つ場合があります。すでにクラスを設定していStudent
ます。このようにする場合:
Student stu1(score, "sam",5, "aaa", "123dfkj@gmail.COM","156412", "518105" );
Student *tempSt = &stu1;
cout
の文字列メンバーを試してみましたがtempSt
、動作します。ただし、次の場合、文字列メンバーは空になります。
tempSt = &Student(score, "sam",6, "aaa", "123dfkj@QQ.COM","156412", "518105" );
何が起こっている?私の貧弱な説明を理解していただければ幸いです:)
アップデート:
問題は次のことから生じます。
void myList::add(Student *a) {
slistNode *tempNode = new slistNode();
tempNode->data = a;
if(lastNode == NULL) {
headNode = tempNode;
lastNode = tempNode;
} else {
lastNode->next = tempNode;
lastNode = tempNode;
}
++listLength;
}
これらの obj をリストに入れようとするので、それらの obj を一時的なものにしたい (実際には名前を付けたくない)。stu1, stu2, stu3 のような obj をたくさん作りたくない....
slistNode クラス:
class slistNode {
public:
slistNode() {
next = NULL;
}
Student *data;
slistNode *next;
};