对不起标题。下面的代码可能有助于描述问题。我已经开课了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 这样的 objs ......
slistNode 类:
class slistNode {
public:
slistNode() {
next = NULL;
}
Student *data;
slistNode *next;
};