1
我試圖做出我的C鏈表++類,我看着從我的教授一些代碼:語法鏈表C++
void List::add(char c)
{
Node *newNode(new Node(c));
if (last == nullptr)
first = last = newNode;
else {
last->next = newNode;
last = newNode;
}
}
int List::find(char c)
{
Node *node(first);
int i(0);
while (node) {
if (node->c == c)
return i;
node = node->next;
i++;
}
return -1;
以下是頭文件中的類聲明:
class List
{
public:
List(void);
~List(void);
void add(char c);
int find(char c);
bool remove(int index);
int length(void);
friend std::ostream& operator<<(std::ostream& out, List& list);
private:
class Node
{
public:
Node(char c) : c(c), next(nullptr) { }
char c;
Node *next;
};
Node *first;
Node *last;
};
第一個問題:圓括號是什麼意思,以及使用它們的正確方法是什麼?
Node *newNode(new Node(c));
Node *node(first);
int i(0);
第二個問題:以下是什麼意思?
Node(char c) : c(c), next(nullptr) { }
我在過去使用struct定義了一個節點;是不同的語法,因爲這是一個類?
謝謝初始化!一旦我獲得更多的聲譽,我將能夠upvote你的答案。 – Aida 2014-10-05 22:21:49