用于实现更好的链表
使用结构
#include <iostream>
using namespace std;
struct Node {
int data;
Node* next;
};
使用课程
class ListNodeClass
{
private:
ItemType Info;
ListNodeClass * Next;
public:
ListNodeClass(const ItemType & Item, ListNodeClass * NextPtr = NULL):
Info(Item), Next(NextPtr)
{
};
void GetInfo(ItemType & TheInfo) const;
friend class ListClass;
};
typedef ListNodeClass * ListNodePtr;
或者他们是否有更好的方法在C ++中进行链表?
答案 0 :(得分:3)
class
和struct
在C ++中唯一不同的是默认接口。如果你写:
struct MyStruct
{
int a;
}
和
class MyClass
{
int a;
}
唯一的区别是a
字段。在MyStruct
字段a
是公开的,MyClass
字段a
是私有的。当然,您可以使用结构和类中的public
和private
关键字对它们进行操作。
如果您使用C ++编程,则应使用类。
答案 1 :(得分:2)
链表是一回事,其节点是另一回事。节点是列表实现的一部分。它们不应该在列表的界面中可见,因此它们的形式并不重要。我会这样做
class List
{
private:
struct Node
{
int data;
Node* next;
};
public:
...
};