Need Help ?

Home / Expert Answers / Computer Science / c-we-have-to-todo-add-an-object-of-commissionemployee-run-the-print-method-of-commissionemployee-fig-q-122

(Solved): C++ //WE HAVE TO // TODO - Add an object of CommissionEmployee // Run the print method of CommissionEmployee // Fig. 11.9: fig11_09.cpp // Testing class BasePlusCommissionEmployee. #include

C++

//WE HAVE TO

// TODO - Add an object of CommissionEmployee

// Run the print method of CommissionEmployee

 

 

// Fig. 11.9: fig11_09.cpp

// Testing class BasePlusCommissionEmployee.

#include <iostream>

#include <iomanip>

#include "BasePlusCommissionEmployee.h" // class definition

#include "BasePlusCommissionEmployee.cpp"

#include "CommissionEmployee.cpp"

 

using namespace std;

 

int main()

{

// instantiate BasePlusCommissionEmployee object

BasePlusCommissionEmployee

employee( "Bob", "Lewis", "333-33-3333", 5000, .04, 300 );

 

// set floating-point output formatting

cout << fixed << setprecision( 2 );

 

// get commission employee data

cout << "Employee information obtained by get functions: \n"

<< "\nFirst name is " << employee.getFirstName()

<< "\nLast name is " << employee.getLastName()

<< "\nSocial security number is "

<< employee.getSocialSecurityNumber()

<< "\nGross sales is " << employee.getGrossSales()

<< "\nCommission rate is " << employee.getCommissionRate()

<< "\nBase salary is " << employee.getBaseSalary() << endl;

 

employee.setBaseSalary( 1000 ); // set base salary

 

cout << "\nUpdated employee information output by print function: \n"<< endl;

employee.print(); // display the new employee information

 

// display the employee's earnings

cout << "\n\nEmployee's earnings: $" << employee.earnings() << endl;

 

d1;

d1.print();

return 0;

} // end main

 

// TODO - Add an object of CommissionEmployee

 

// Run the print method of CommissionEmployee

 

};

 

------------------------------------------------------------------

BasePlusCommissionEmployee.h

#ifndef BASEPLUS_H
#define BASEPLUS_H

#include // C++ standard string class
#include "CommissionEmployee.h" // CommissionEmployee class declaration

class BasePlusCommissionEmployee : public CommissionEmployee
{
public:
BasePlusCommissionEmployee( const std::string &, const std::string &,
const std::string &, double = 0.0, double = 0.0, double = 0.0 );

void setBaseSalary( double ); // set base salary
double getBaseSalary() const; // return base salary


double earnings() const; // calculate earnings
void print() const; // print BasePlusCommissionEmployee object
private:
double baseSalary; // base salary
}; // end class BasePlusCommissionEmployee

#endif

----------------------------------------------------------------

BasePlusCommissionEmployee.cpp

// Fig. 11.11: BasePlusCommissionEmployee.cpp
// Class BasePlusCommissionEmployee member-function definitions.
#include
#include
#include "BasePlusCommissionEmployee.h" // class definition
using namespace std;

// constructor
BasePlusCommissionEmployee::BasePlusCommissionEmployee(
const string &first, const string &last, const string &ssn,
double sales, double rate, double salary )
// explicitly call base-class constructor
: CommissionEmployee( first, last, ssn, sales, rate )
{
setBaseSalary( salary ); // validate and store base salary
} // end BasePlusCommissionEmployee constructor

// set base salary
void BasePlusCommissionEmployee::setBaseSalary( double salary )
{
if ( salary >= 0.0 )
baseSalary = salary;
else
throw invalid_argument( "Salary must be >= 0.0" );
} // end function setBaseSalary

// return base salary
double BasePlusCommissionEmployee::getBaseSalary() const
{
return baseSalary;
} // end function getBaseSalary

// calculate earnings
double BasePlusCommissionEmployee::earnings() const
{
// derived class cannot access the base class's private data
return baseSalary + ( commissionRate * grossSales );
} // end function earnings

// print BasePlusCommissionEmployee object
void BasePlusCommissionEmployee::print() const
{
// derived class cannot access the base class's private data
cout << "base-salaried commission employee: " << firstName << ' '
<< lastName << "\nsocial security number: " << socialSecurityNumber
<< "\ngross sales: " << grossSales
<< "\ncommission rate: " << commissionRate
<< "\nbase salary: " << baseSalary;
} // end function print

double earnings() const; // calculate earnings
void print() const; // print BasePlusCommissionEmployee object
private:
double baseSalary; // base salary
}; // end class BasePlusCommissionEmployee

#endif

---------------------------------------------------------------

ComissionEmployee.h

#ifndef COMMISSION_H
#define COMMISSION_H

#include // C++ standard string class

class CommissionEmployee
{
public:
CommissionEmployee( const std::string &, const std::string &,
const std::string &, double = 0.0, double = 0.0 );

void setFirstName( const std::string & ); // set first name
std::string getFirstName() const; // return first name

void setLastName( const std::string & ); // set last name
std::string getLastName() const; // return last name

void setSocialSecurityNumber( const std::string & ); // set SSN
std::string getSocialSecurityNumber() const; // return SSN

void setGrossSales( double ); // set gross sales amount
double getGrossSales() const; // return gross sales amount

void setCommissionRate( double ); // set commission rate (percentage)
double getCommissionRate() const; // return commission rate

double earnings() const; // calculate earnings
void print() const; // print CommissionEmployee object
protected:
std::string firstName;
std::string lastName;
std::string socialSecurityNumber;
double grossSales; // gross weekly sales

double commissionRate; // commission percentage
}; // end class CommissionEmployee

#endif

----------------------



We have an Answer from Expert

View Expert Answer

Expert Answer


We have an Answer from Expert

Buy This Answer $4

Place Order