Homework

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
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.
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.