przyjmuje za argumenty prawy i lewy węzeł potomny, np. "1.0 + 2.0".
Aby wykonać szereg operacji na całym drzewie, takich jak np. translacja wyrażenia do Odwrotnej Notacji Polskiej lub kalkulacja wyrażenia, trzeba dla każdego z węzłów drzewa zaimplementować metody wykonujące powyższe zadania. Utrzymanie i stworzenie tak rozwiniętego kodu dla każdej z klas reprezentujących węzeł w drzewie może być dość skomplikowane. Aby uniknąć takich sytuacji, można wykorzystać wzorzec wizytatora.
Niech obiekty, będące węzłami w drzewie, zawierają metodę Accept, w treści której odwiedzający będzie przyjmowany kolejno w lewym i prawym dziecku oraz w samym węźle. Cała funkcjonalność wykonywana na drzewie może być zaimplementowana w różnych wizytatorach (implementujących interfejs Visitor): PostfixPrintVisitor - wizytator odpowiedzialny za przetłumaczenie wyrażenia matematycznego do postaci Odwrotnej Notacji Polskiej. CalculationVisitor - wizytator odpowiedzialny za obliczenie wyrażenia matematycznego. Wizytator używa stosu zawierającego wartości numeryczne;