3
在使用鏈接列表示例impl的堆棧中,爲什麼我們需要在Stack類中創建Element作爲嵌套類?另外,爲什麼我們需要保護它?我在尋找這個設計背後的原因?關於使用鏈接列表的堆棧實現中的嵌套類
class Stack{
public:
Stack();
~Stack();
void push(void *data);
void *pop();
protected:
class Element{
public:
Element();
Element *getNext() const {return next; }
void *value() const {return data;}
private:
Element *next;
void *data;
};
Element *head;
};
您不必將其創建爲嵌套類,但它*是Stack用戶不需要知道的內部類。事實上,我甚至會把它變成私人的。 –