小编Tri*_*a N的帖子

访客模式解释

所以我已经阅读了有关访客模式的所有文档,我仍然非常困惑.我从另一个问题中得到了这个例子,有人能帮我理解吗?例如,我们何时使用访客设计模式?我想我可能已经理解了一些,但我只是无法看到更大的图景.我如何知道何时可以使用它?

class equipmentVisited
{
  virtual void accept(equipmentVisitor* visitor) = 0;
}

class floppyDisk : public equipmentVisited
{
  virtual void accept(equipmentVisitor* visitor);
}

class processor : public equipmentVisited
{
  virtual void accept(equipmentVisitor* visitor);
}

class computer : public equipmentVisited
{
  virtual void accept(equipmentVisitor* visitor);
}

class equipmentVisitor
{
  virtual void visitFloppyDisk(floppyDisk* );
  virtual void visitProcessor(processor* );
  virtual void visitComputer(computer* );
}

// Some additional classes inheriting from equipmentVisitor would be here

equipmentVisited* visited;
equipmentVisitor* visitor;

// Here you initialise visited and …
Run Code Online (Sandbox Code Playgroud)

c++ visitor

25
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×1

visitor ×1