Пример #1
0
int main(int argc, const char * argv[]) {
    FullTimeEmployee* f1 = new FullTimeEmployee();
    f1->yearlySalary = 100000;
    f1->type = FULL;

    HourlyEmployee* h1 = new HourlyEmployee();
    h1->hours = 40;
    h1->rate = 70;
    h1->type = HOURLY;

    cout << f1->getWeeklyPay() << endl;
    cout << h1->getWeeklyPay() << endl;

    Employee* employees[] = {f1, h1};
    for(int i=0; i<2; i++)
    {
        Employee* e = employees[i];
        cout << e->getWeeklyPay() << endl;
        HourlyEmployee* h;
        FullTimeEmployee* f;
        switch (e->type) {
        case HOURLY:
            h = (HourlyEmployee*)e;
            cout << h->getWeeklyPay() << endl;
            break;
        case FULL:
            f = (FullTimeEmployee*)e;
            cout << f->getWeeklyPay() << endl;
            break;
        }
    }


    for(int i=0; i<2; i++)
    {
        Employee* e = employees[i];
        cout << e->getWeeklyPay() << endl;
    }
}