一:概念 访问者模式,是行为模式之一,它分离对象的数据和行为,使用Visitor模式,可以不修改已有类的情况下,增加新的操作角色和职责. 二:动机 在软件构建的过程中,由于需求的改变,某些类层次结构中常常需要增加新的行为(方法).如果直接在类中做这样的更改,将会给子类带来很繁重的变更负担,甚至破坏原有设计. 如何在不更改类层次结构的前提下,在运行时根据需要透明地为类层次结构上的各个类动态添加新的操作,从而避免上述问题? 三:代码讲解 (一)原代码 #include <iostream> usi…