Homework

Jan 28, 2018 at 10:59pm
I need help with the question below. My answers are posted below the question, but I'm not really sure if they're correct. If anyone could help me out, I'd really appreciate it. Thanks!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class employee         //Line 1                                              

{                      //Line 2
public:                //Line 3                     
employee();            //Line 4                                                
employee(string, int, double);          //Line 5
employee(int, double);                  //Line 6
employee(string);                       //Line 7
void setData(string, int, double);      //Line 8
void print() const;                     //Line 9
void updateSalary(double x);            //Line 10
int getNumOfServiceYears() const;       //Line 11
double getSalary() const;               //Line 12
private:                                //Line 13     
string name;                            //Line 14
int numOfServiceYears;                  //Line 15
double salary;                          //Line 16
};                                      //Line 17

a. Give the line number containing the constructor that is executed in each of the following declarations:

i. employee tempEmployee;
ii. employee newEmployee("Harry Miller", 0, 25000);
iii. employee oldEmployee("Bill Dunbar", 15, 55000);

b. Write the definition of the constructor in Line 4 so that the instance variables are initialized to "", 0, and 0.0, respectively.

c. Write the definition of the constructor in Line 5 so that the instance variables are initialized according to the parameters.

d. Write the definition of the constructor in Line 6 so that the instance variable name is initialized to the empty string and the remaining instance variables are initialized according to the parameters.

Answers

a.
i. Line 4
ii. Line 5
iii. Line 5
b.
employee() {
name = “”;
numOfServiceYears = 0;
salary=0; }
c.
employee(string s, int i, double d){
name=s;
numOfServiceYears=i;
salary=d;
}
d.
employee(int i, double d){
name = “”;
numOfServiceYears = i;
salary = d;
}

Last edited on Jan 28, 2018 at 10:59pm
Jan 28, 2018 at 11:38pm
For question b, the salary should be initialized to 0.0 and not 0. In other words,

From,
salary = 0;

to
salary = 0.0;

the rest looks good, though.
Jan 30, 2018 at 11:22am
Hello Millet,

in addition to what chicofeo said in "b and d" as I have learned a std::string is empty to begin with. Initializing a std::string to "" is redundant and mostly pointless although it does not make any difference, but to be correct I would leave the stings out.

Andy
Topic archived. No new replies allowed.