我想创建一个简单的单向链接列表。我在概念上理解它,但是我试图创建一个。我知道那里有导游,但我通过反复试验了解了更多的东西。了解/创建链接列表
我简单Contact
类:
class Contact
{
std::string name, phNum;
Contact* next;
public:
void getInfo();
void printInfo();
};
在这一点上,所有我试图做的是创建一些联系人(即各种各样的地址簿)的列表,然后打印出他们的信息。
根据我的理解,该列表应包含Contact
类型的几个唯一对象。
我的问题是,我如何在具有唯一地址的堆中创建多个对象?我尝试了下面的内容,但它显然不起作用,因为所有的指针都是相同的。
while(true)
{
Contact* newEntry= new Contact;
newEntry->getInfo();
// rest of the linking stuff
}
“但它显然不起作用,因为所有的指针都是相同的”你为什么会这么想? 'new'不会返回与其他任何仍然有效的指针相同的指针。 – bames53
@ bames53它可以返回相同的指针,指向不同的内存。也许这就是抛弃他的原因。当你输入循环的不同迭代时,任何旧指针都会超出范围。 –
我不认为“试错”或“遵循指南”是一种善于编程的好方法。相反,您应该了解驱动链表的抽象算法,并理解语言结构如何工作,然后根据您对这两种语言的理解,在语言中实现该算法。 –