65,211
社区成员
发帖
与我相关
我的任务
分享//EMPLOYEE.H
class Employee
{
public:
Employee(int, const char*,const char*,const char*,int);
~Employee();
void setEmployeeNumber(int);
void setEmployeeAge(int);
int getEmployeeNumber() const;
int getEmployeeAge() const;
const char* getFirstName() const;
const char* getLastName() const;
const char* getEmployeeSex() const;
virtual double earnings() const = 0;
virtual void print();
private:
int EmployeeNumber;
char* firstName;
char* lastName;
char* EmployeeSex;
int EmployeeAge;
};
//EMPLOYEE.CPP
#include"employee.h"
#include"string.h"
#include"assert.h"
#include<iostream.h>
Employee::Employee(int employNum,const char* first,const char* last,const char* sex,int age)
{
setEmployeeNumber(employNum);
firstName = new char[strlen(first) + 1];
assert(firstName != 0);
strcpy(firstName,first);
lastName = new char[strlen(last) + 1];
assert(lastName != 0);
strcpy(lastName,last);
EmployeeSex = new char[strlen(sex) + 1];
assert(EmployeeSex != 0);
strcpy(EmployeeSex,sex);
setEmployeeAge(age);
}
Employee::~Employee()
{
delete[] firstName;
delete[] lastName;
delete[] EmployeeSex;
}
void Employee::setEmployeeAge(int age)
{
EmployeeAge = age;
}
void Employee::setEmployeeNumber(int number)
{
EmployeeNumber = number;
}
const char* Employee::getFirstName() const
{
return firstName;
}
const char* Employee::getLastName() const
{
return lastName;
}
const char* Employee::getEmployeeSex() const
{
return EmployeeSex;
}
int Employee::getEmployeeAge() const { return EmployeeAge;}
int Employee::getEmployeeNumber() const { return EmployeeNumber;}
void Employee::print()
{
cout <<EmployeeNumber << ' ' << firstName << ' ' << lastName << ' ' << EmployeeSex << ' '<< EmployeeAge;
}
//BOSS.H
#include"employee.h"
class Boss : public Employee
{
public:
Boss(int,const char*,const char*,const char*,int,double);
void setMonthSalary(double);
virtual double earnings() const;
virtual void print() ;
private:
double manageMonthSalary;
};
//BOSS.CPP
#include<iostream.h>
#include<string.h>
#include"boss.h"
Boss::Boss(int number,const char* first,const char* last,const char* sex,int age,double monthSalary)
: Employee(number,first,last,sex,age)
{
setMonthSalary(monthSalary);
}
void Boss::setMonthSalary(double monthsalary)
{
manageMonthSalary = monthsalary;
}
double Boss::earnings() const
{
return manageMonthSalary;
}
void Boss::print()
{
cout << "\n Boss:";
Employee::print();
}
//COMMISSION.H
#include"employee.h"
class CommissionWor : public Employee
{
public:
CommissionWor(int,const char*,const char*,const char*,int,double,double,double);
void setSalary(double);
void setCommission(double );
void setQuantity(double);
virtual double earnings();
virtual void print();
private:
double Saraly;
double Commission;
double Quantity;
};
//COMMISSION.CPP
#include"commission.h"
#include<string.h>
#include<assert.h>
#include<iostream.h>
CommissionWor::CommissionWor(int number,const char* first,const char* last,const char* sex,int age,double comSaraly,double commiss,double quti)
: Employee(number,first,last,sex,age)
{
setCommission(commiss);
setQuantity(quti);
setSalary(comSaraly);
}
void CommissionWor::setCommission(double com)
{
Commission = com;
}
void CommissionWor::setQuantity(double qu)
{
Quantity = qu;
}
void CommissionWor::setSalary(double sa)
{
Saraly = sa;
}
double CommissionWor::earnings()
{
return Saraly + Commission * Quantity;
}
void CommissionWor::print()
{
cout << "\n CommissionWor";
Employee::print();
}
//HOURLYWORKER.H
#include"employee.h"
class HourlyWorker : public Employee
{
public:
HourlyWorker(int ,const char*,const char*,const char*,int ,double,double);
void setHour(double);
void setHourPay(double);
virtual void print();
virtual double earnings();
private:
double workHour;
double hourPay;
};
//HOURLYWORKER.CPP
#include<stdio.h>
#include<assert.h>
#include<string.h>
#include<iostream.h>
#include"hourlyworker.h"
HourlyWorker::HourlyWorker(int number,const char* first,const char* last,const char* sex,int age,double hour, double hourPay)
: Employee(number,first,last,sex,age)
{
setHour(hour);
setHourPay(hourPay);
}
void HourlyWorker::setHour(double h)
{
workHour = h;
}
void HourlyWorker::setHourPay(double hourP)
{
hourPay = hourP;
}
void HourlyWorker::print()
{
cout << "\n HourlyWorker";
Employee::print();
}
double HourlyWorker::earnings()
{
return hourPay * workHour;
}
//PIECEWORKER.H
#include"employee.h"
class PieceWork : public Employee
{
public:
PieceWork::PieceWork(int ,const char* ,const char*,const char*,int,int,double);
void setWagePerPiece(double);
void setQuantity(int);
virtual double earnings();
virtual void print();
private:
int quantity;
double wagePerPiece;
};
//PIECEWORKER.CPP
#include"pieceworker.h"
#include<string.h>
#include<assert.h>
#include<iostream.h>
PieceWork::PieceWork(int number,const char* first,const char* last,const char* sex,int age,int quan,double wagePerP)
:Employee(number,first,last,sex,age)
{
setQuantity(quan);
setWagePerPiece(wagePerP);
}
void PieceWork::setQuantity(int q)
{
quantity = q;
}
void PieceWork::setWagePerPiece(double w)
{
wagePerPiece = w;
}
double PieceWork::earnings()
{
return quantity * wagePerPiece;
}
void PieceWork::print()
{
cout << "\n PieceWork:";
Employee::print();
}
//SALARYMA.CPP
#include<iostream.h>
#include<iomanip.h>
#include"boss.h"
void main()
{
cout << setiosflags(ios::fixed | ios::showpoint )
<< setprecision(2);
Boss b(100,"Join","Smith","man",30,3000);
b.print();
cout << "earning" << b.earnings() << "\n";
}