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, 22.06.2019 18:00
Determine whether the following careers would require training or college.
Answers: 1
question
Computers and Technology, 24.06.2019 14:30
Two students are discussing electricity that has a frequency of 60 hz. student a says that this type of electricity is referred to as ac. student b says that in this type of electricity, the electrons flow in only one direction. which of the following statements is correct? a. only student a is correct b. only student b is correct c. both of the two students are correct d. neither of the two students is correct
Answers: 1
question
Computers and Technology, 25.06.2019 01:00
Why is outfitting a workplace with video games in a technology development company consiered a strategic use of money
Answers: 1
question
Computers and Technology, 25.06.2019 01:40
The instantiation of an endpoint in a potential tcp connection is know as
Answers: 1
You know the right answer?
Staffmemberparser class
the staffmemberparser class is a utility class that will be used to c...
Questions
question
Mathematics, 25.10.2019 19:43
question
Mathematics, 25.10.2019 19:43
Questions on the website: 13722361