C++ 链表缓冲区;应该插入什么返回?
如果这个问题以前出现过,请原谅 我已经编写了向链表插入函数的工作空间,但我必须使该函数能够使用:C++ 链表缓冲区;应该插入什么返回?,c++,C++,如果这个问题以前出现过,请原谅 我已经编写了向链表插入函数的工作空间,但我必须使该函数能够使用: CyclicBuffer cbof4(4); cbof4.insert(1).insert(2).insert(3).insert(4); 这是我的班级: class node { friend class CyclicBuffer; public: int value; node* next; node(int data) { next = NU
CyclicBuffer cbof4(4);
cbof4.insert(1).insert(2).insert(3).insert(4);
这是我的班级:
class node
{
friend class CyclicBuffer;
public:
int value;
node* next;
node(int data)
{
next = NULL;
value = data;
}
};
class CyclicBuffer
{
private:
int _size;
node *head;
node *tail;
public:
void insert(int data);
void extract();
bool empty();
bool full();
int used();
void print();
CyclicBuffer(int size)
{
_size = size;
head = NULL;
tail = NULL;
}
};
和我的插入函数:
void CyclicBuffer::insert(int data)
{
node *p = new node(data);
p -> next = NULL;
if (tail == NULL)
{
tail = head = p;
}
else
{
head -> next = p;
head = p;
}
}
有人能给我一些建议,我的函数应该返回什么吗?如果你想这样链接,最简单的方法就是返回它自己:
CyclicBuffer& CyclicBuffer::insert(int data) {
// rest as before
return *this;
}
这样,
cbof4.insert(1).insert(2).insert(3).insert(4);
完全一样
cbof4.insert(1);
cbof4.insert(2);
cbof4.insert(3);
cbof4.insert(4);
但是void函数不适用于cbof4.insert1.insert2.insert3.insert4;