#ifndef EMPLOYEE_FACTORY_H
#define EMPLOYEE_FACTORY_H
#include <QSharedPointer>
class AbstractEmployee;
class EmployeeRecord;
class IEmployeeFactory
{
public:
virtual QSharedPointer<AbstractEmployee> makeEmployee(EmployeeRecord const& rec) = 0;
};
class EmployeeFactory : public IEmployeeFactory
{
enum POSITION
{
EMPLOYEE = 1, MANAGER, SALES
};
public:
QSharedPointer<AbstractEmployee> makeEmployee(EmployeeRecord const& rec) override;
};
#endif
I2lmbmRlZiBFTVBMT1lFRV9GQUNUT1JZX0gKI2RlZmluZSBFTVBMT1lFRV9GQUNUT1JZX0gKCiNpbmNsdWRlIDxRU2hhcmVkUG9pbnRlcj4KCmNsYXNzIEFic3RyYWN0RW1wbG95ZWU7CmNsYXNzIEVtcGxveWVlUmVjb3JkOwoKCmNsYXNzIElFbXBsb3llZUZhY3RvcnkKewpwdWJsaWM6Cgl2aXJ0dWFsIFFTaGFyZWRQb2ludGVyPEFic3RyYWN0RW1wbG95ZWU+IG1ha2VFbXBsb3llZShFbXBsb3llZVJlY29yZCBjb25zdCYgcmVjKSA9IDA7Cn07CgpjbGFzcyBFbXBsb3llZUZhY3RvcnkgOiBwdWJsaWMgSUVtcGxveWVlRmFjdG9yeQp7CgllbnVtIFBPU0lUSU9OCgl7CgkJRU1QTE9ZRUUgPSAxLCBNQU5BR0VSLCBTQUxFUwoJfTsKcHVibGljOgoJUVNoYXJlZFBvaW50ZXI8QWJzdHJhY3RFbXBsb3llZT4gbWFrZUVtcGxveWVlKEVtcGxveWVlUmVjb3JkIGNvbnN0JiByZWMpIG92ZXJyaWRlOwp9OwoKI2VuZGlm