Design/template/Template.hpp

48 lines
1.1 KiB
C++
Raw Normal View History

2024-10-28 14:07:29 +08:00
/*
* @Description:
* @version:
* @Author:
* @Date: 2023-10-25 09:57:45
* @LastEditors:
* @LastEditTime: 2023-10-25 11:17:20
*/
#include <iostream>
using namespace std;
// 报销基类
class Reimbursement {
public:
void process() {
submit();
firstReview();
finalReview();
pay();
}
virtual void submit() {
cout << "提交报销申请" << endl;
}
virtual void firstReview() = 0;
virtual void finalReview() = 0;
virtual void pay() {
cout << "支付报销费用" << endl;
}
};
// 部门报销类
class DepartmentReimbursement : public Reimbursement {
public:
void firstReview() override {
cout << "部门特定的初审流程" << endl;
}
void finalReview() override {
cout << "部门特定的终审流程" << endl;
}
};
// 财务部门报销类
class FinanceDepartmentReimbursement : public Reimbursement {
public:
void firstReview() override {
cout << "财务部门特定的初审流程" << endl;
}
void finalReview() override {
cout << "财务部门特定的终审流程" << endl;
}
};