Click to go home

// class SalesPerson implementation

#include "SalesPerson.hpp"
#include < usual.h>

SalesPerson::SalesPerson()  // default constructor
:Employee(),commissionRate(0),sales(0){}

// constructor accepting char string
SalesPerson::SalesPerson(char *nm,float monthly,float cRate,float s)
:Employee(nm,monthly),commissionRate(cRate),sales(s){calcPay();}

// constructor accepting char
SalesPerson::SalesPerson(char ch,float monthly,float cRate,float s)
:Employee(ch,monthly),commissionRate(cRate),sales(s){calcPay();}
                                       
// constructor with String object
SalesPerson::SalesPerson(String& obj,float monthly,float cRate,float s)
:Employee(obj,monthly),commissionRate(cRate),sales(s){calcPay();}

SalesPerson::SalesPerson(SalesPerson& obj)  // copy constructor
:Employee(obj.getName(),obj.getMonthlySalary()),commissionRate(obj.commissionRate)
{
	sales=obj.sales;
	calcPay();
}

SalesPerson::~SalesPerson(){}  // destructor

SalesPerson& SalesPerson::operator=(SalesPerson& obj) // operator=
{                                                     // overload
	setName(obj.getName());
	setMonthlySalary(obj.getMonthlySalary());
	commissionRate=obj.commissionRate;
	sales=obj.sales;
	calcPay();
	return obj;
}

float SalesPerson::getCommissionRate(){   // returns commissionRate
	return commissionRate;}

void SalesPerson::setCommissionRate(float cRate){ // sets commissionRate
	commissionRate=cRate;}

float SalesPerson::getSales(){  // returns sales
	return sales;}

void SalesPerson::setSales(float s){  // changes value of sales
	sales=s;}

void SalesPerson::calcPay(){   // calculates grossPay
	grossPay=getMonthlySalary()+commissionRate*sales;}

void SalesPerson::display() // prints data members, including inherited
{                           // to standard out
	Employee::display();
	cout<<"\nCommission Rate: "<< commissionRate;
	cout<<"\nTotal Sales: $"<< sales;
}

Next Page - String.cpp

Jump to:
hpp  |   Employee.cpp  |   FullTime.cpp  |   Student.cpp  |   Driver

Go to top