3
아래의 링크 된 예제 예제 impl을 사용하는 스택에서 Element를 Stack 클래스의 중첩 클래스로 만들어야하는 이유는 무엇입니까? 또한 왜 우리는 그것을 보호해야합니까? 나는이 디자인의 배경을 찾고있다.링크 된 목록을 사용하여 스택 구현의 중첩 클래스에 대해
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의 사용자가 알 필요가없는 내부 클래스입니다. 사실, 나는 심지어 그것을 사적으로 만들었을 것이다. –