gpt4 book ai didi

c++ - 你如何键入别名嵌套类?

转载 作者:行者123 更新时间:2023-11-30 03:35:42 26 4
gpt4 key购买 nike

<分区>

我不知道如何为嵌套类使用类型别名。下面是链表的类声明。我最初用节点和迭代器类与链表一起实现了链表类,现在我试图将它们嵌套在链表中。为了使该类更易于阅读,我宁愿在任何地方都使用迭代器而不是 linkedlist::iterator,所以我想将它作为迭代器键入别名。以下是我的尝试之一,无论我更改什么,我都会遇到一个或另一个错误。这个行不通,因为行

class linkedlist::iterator;

导致错误 (g++ -std=c++11) 'iterator' in 'class linkedlist' does not name a type.

class linkedlist;
class linkedlist::iterator;
class linkedlist::node;
using iterator = linkedlist::iterator;
using node = linkedlist::node;


class linkedlist
{
public:

linkedlist();
iterator begin();
iterator end();
iterator insert(iterator pos, long data);
void print();

node* root;
node* final;



private:
class iterator
{
public:


const linkedlist* list;
node* ref;

iterator();
iterator(node& ref, const linkedlist& list);

long& operator*();
long* operator->();
iterator& operator++();
iterator& operator--();
bool operator==(iterator rhs);
bool operator!=(iterator rhs);

};


private:
class node
{
public:

long& operator*();

long data;
node* ptr_f;
node* ptr_b;
};

};

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com