41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
![]() |
/*
|
||
|
* @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;
|
||
|
}
|