subject
Computers and Technology, 23.11.2019 00:31 dre4232

Staffmemberparser class
the staffmemberparser class is a utility class that will be used to create a pointer to a staff member object (one of a volunteer object, a full time employee object, and an hourly employee object) from a parsable string. the staffmemberparser class object will not be instantiated. it must have the following public function:
static staffmember * parsestringtomember(string linetoparse)
the parsestringtomember function's argument will be a string in the following format:
for a volunteer, type/firstname/lastname/employeeid
for a full time employee, type/firstname/lastname/emloyeeid/r ate/bonus
for an hourly employee, type/firstname/lastname/emloyeeid/r ate/hoursworked
the staffmemberparser will parse this string, pull out the information, allocates memory dynamically to a new object of one of volunteer, fulltimeemployee, or hourlyemployee using their constructor with attributes of the object (depending on whether the first substring is volunteer, fulltimeemployee, or hourlyemployee), and return it to the calling function. the type will always be present and always be one of volunteer, fulltimeemployee, and hourlyemployee. you may add other functions to the volunteer, fulltimeemployee, and hourlyemployee classes in order to make your life easier.
based on code here-
//staffmember parent class
//parent class
#include
#include
using namespace std;
#ifndef staffmember_h
#define staffmember_h
class staffmember {
protected:
string firstname, lastname, memberid;
double pay;
public:
staffmember() {
firstname = "? ", lastname = "? ", memberid = "? ";
pay = 0.0;
}
staffmember(string firstname, string lastname, string memberid) {
this-> firstname = firstname;
this-> lastname = lastname;
this-> memberid = memberid;
}
string getmemberid() {
return memberid;
}
virtual void computepay() {
pay = 0.0;
}
virtual void printinfo() {
printf("\nfirst name: \t\t%s\nlast name: \t\t%s\nmember id: \t\t%s\npay: \t\t%lf\n",
firstname, lastname, memberid, pay);
}
~staffmember() {
cout < < "staff member " < < getmemberid() < < " is getting destroyed." < < endl;
}
};
#endif
//child class (example: hourlyemployee)
#include
#include
#include "staffmember. h"
using namespace std;
#ifndef hourlyemployee_h
#define hourlyemployee_h
class hourlyemployee : public staffmember {
protected:
double rate;
int hoursworked;
public:
hourlyemployee() : staffmember() {
rate = 0.0;
hoursworked = 0;
}
hourlyemployee(string firstname, string lastname, string memberid, double rate, int hoursworked)
: staffmember(firstname, lastname, memberid) {
this-> rate = rate;
this-> hoursworked = hoursworked;
}
virtual void computepay() {
pay = rate * hoursworked;
}
virtual void printinfo() {
staffmember: : printinfo();
}
};
#endif

ansver
Answers: 3

Another question on Computers and Technology

question
Computers and Technology, 21.06.2019 17:30
How many pairs of chromosomes do human body cells contain?
Answers: 2
question
Computers and Technology, 22.06.2019 11:00
Which law requires employers to provide safe working environments for their employees? a. civil rights act b. fair labor standards act c. occupational safety and health act d. wagner act
Answers: 1
question
Computers and Technology, 22.06.2019 19:00
The fourth generation of computers emerged between 1970s and 1980s. which technological advancement brought about this generation of computers? which computer architecture was used most in this generation?
Answers: 3
question
Computers and Technology, 22.06.2019 23:30
In my email i got a message it says a quick message and in message details on who its from its says nicole and under nicole is [email protected] -
Answers: 1
You know the right answer?
Staffmemberparser class
the staffmemberparser class is a utility class that will be used to c...
Questions
question
Computers and Technology, 14.02.2021 17:30
question
English, 14.02.2021 17:30
question
Social Studies, 14.02.2021 17:30
question
English, 14.02.2021 17:30
question
Mathematics, 14.02.2021 17:30
question
Mathematics, 14.02.2021 17:30
Questions on the website: 13722367