Goodrich から C++ のデータ構造とアルゴリズムを学んでいます。彼らはこの LinkedList 実装を提供しました。私はコードを理解していますが、そうではありませんが、これをメインクラスで使用することはできません。インスタンスを作成して挿入、削除するにはどうすればよいですか? たとえば、次のようにクラスのインスタンスを作成しようとしました。
StringLinkedList() L;
しかし、それはエラーを示しています: 予想される ";" 'Lの前に
#include <iostream>
#include <string>
using namespace std;
class StringNode {
private:
string elem;
StringNode* next;
friend class StringLinkedList;
};
class StringLinkedList{
public:
StringLinkedList();
~StringLinkedList();
bool empty() const;
const string& front() const;
void addFront(const string& e);
void removeFront();
private:
StringNode* head;
};
StringLinkedList::StringLinkedList()
:head(NULL) {}
StringLinkedList::~StringLinkedList()
{while (!empty()) removeFront();}
bool StringLinkedList::empty() const
{return head==NULL;}
const string& StringLinkedList::front() const
{return head->elem;}
void StringLinkedList::addFront(const string& e){
StringNode* v = new StringNode;
v->elem=e;
v->next = head;
head=v;
}
void StringLinkedList::removeFront(){
StringNode* old=head;
head = old->next;
delete old;
}
int main () {
}