Design/visitor/Visitor.cpp

41 lines
1.1 KiB
C++
Raw Normal View History

2024-10-28 14:07:29 +08:00
/*
* @Description:
* @version:
* @Author:
* @Date: 2023-11-01 09:51:08
* @LastEditors:
* @LastEditTime: 2023-11-01 10:13:26
*/
#include "Visitor.hpp"
void PDFFile::Accept(Visitor &visitor) {
visitor.VisitPDFFile(*this);
}
void PPTFile::Accept(Visitor &visitor) {
visitor.VisitPPTFile(*this);
}
void WordFile::Accept(Visitor &visitor) {
visitor.VisitWordFile(*this);
}
// 阅读
void ReaderVisitor::VisitPDFFile(PDFFile &file) {
std::cout << file.FilePath() << "阅读PDF文件" << std::endl;
}
void ReaderVisitor::VisitPPTFile(PPTFile &file) {
std::cout << file.FilePath() << "阅读PPT文件" << std::endl;
}
void ReaderVisitor::VisitWordFile(WordFile &file) {
std::cout << file.FilePath() << "阅读Word文件" << std::endl;
}
// 压缩
void CompressorVisitor::VisitPDFFile(PDFFile &file) {
std::cout << file.FilePath() << "压缩PDF文件" << std::endl;
}
void CompressorVisitor::VisitPPTFile(PPTFile &file) {
std::cout << file.FilePath() << "压缩PPT文件" << std::endl;
}
void CompressorVisitor::VisitWordFile(WordFile &file) {
std::cout << file.FilePath() << "压缩Word文件" << std::endl;
}