#include <iostream>
namespace EmployeeData
{
int Age = 34;
int EmpID = 11;
class Employee
{
public:
Employee() ;
~Employee() ;
void Validate();
void DisplayEmpInfo();
long GetSSN() { return SSN; }
float GetPayRate() { return payrate; }
private:
static int Counter ;
long SSN;
double payrate;
} ;
}
//------------------------------------------------------------------------------------------------------------------------
//Must use namespace scope and class scope since its static
int EmployeeData::Employee::Counter = 0 ;
//Define constructor and destuctor using namespace scope
EmployeeData::Employee::Employee() : SSN(256389456), payrate(7.52) { }
EmployeeData::Employee::~Employee() { }
//Define functions using namespace scope
void EmployeeData::Employee::Validate()
{
if(GetSSN() < 111111111)
std::cout << "Invalid social." << std::endl;
if(GetPayRate() < 6.55 || payrate > 21.555)
std::cout << "Invalid pay rate." << std::endl;
}
void EmployeeData::Employee::DisplayEmpInfo()
{
std::cout << " SSN " << Employee::SSN ;
std::cout << " Pay Rate: " << Employee::payrate << std::endl ;
}
//------------------------------------------------------------------------------------------------------------------------------
int main( )
{
//Instantiate object using namespace scope
EmployeeData::Employee TempEmp;
TempEmp.Validate();
TempEmp.DisplayEmpInfo();
return 0 ;
}
|