visitor.cpp

来自「详细介绍了20种设计模式的具体实现框架,很有参考价值」· C++ 代码 · 共 42 行

CPP
42
字号
/********************************************************************
	created:	2006/08/09
	filename: 	Visitor.cpp
	author:		李创
                http://www.cppblog.com/converse/

	purpose:	Visitor模式的演示代码
*********************************************************************/

#include "Visitor.h"
#include <iostream>

void ConcreateElementA::Accept(Visitor &rVisitor)
{
	rVisitor.VisitConcreateElementA(this);
}

void ConcreateElementB::Accept(Visitor &rVisitor)
{
	rVisitor.VisitConcreateElementB(this);
}

void ConcreateVisitorA::VisitConcreateElementA(ConcreateElementA *pConcreateElementA)
{
	std::cout << "VisitConcreateElementA By ConcreateVisitorA\n";
}

void ConcreateVisitorA::VisitConcreateElementB(ConcreateElementB *pConcreateElementA)
{
	std::cout << "VisitConcreateElementB By ConcreateVisitorA\n";
}

void ConcreateVisitorB::VisitConcreateElementA(ConcreateElementA *pConcreateElementA)
{
	std::cout << "VisitConcreateElementA By ConcreateVisitorB\n";
}

void ConcreateVisitorB::VisitConcreateElementB(ConcreateElementB *pConcreateElementA)
{
	std::cout << "VisitConcreateElementB By ConcreateVisitorB\n";
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?