방문자 패턴(Visitor Pattern)은 객체와 기능을 분리할 수 있도록 하는 디자인 패턴이다. 구현 방문자 패턴은 Visitor Concrete Visitor Element Interface Element Client 로 구성된다. Visitor 객체는 Element 객체들을 순회하며 각 Element에 필요한 기능을 수행한다. Visitor Concrete Visitor의 인터페이스로 각 Concrete Visitor는 매개변수가 다르다. // Visitor interface class Visitor { public: virtual void visit(ConcreteElementA* element) = 0; virtual void visit(ConcreteElementB* element) = 0;..