/* Copyright (c) 1992 by AT&T Bell Laboratories. */
/* Advanced C++ Programming Styles and Idioms */
/* James O. Coplien */
/* All rights reserved. */

class Employee: public Class {
public:
    Employee(Exemplar);
    Employee *make();
    Employee *make(const char *name, EmployeeId id);
    long printPaycheck();
    void logTimeWorked(Hours);
protected:
    Employee();
    Employee(const char *name, EmployeeId id);
private:
    Dollars salary;
    Days vacationAllotted, vacationUsed;
    String name;
    EmployeeId id;
};