620_______________________________Часть IV. Новые возможности C++

ostr « employee.GetMiddleInitial();

ostr « employee.GetAddress() « "\n";

ostr « employee.GetCityO « " ";

ostr « employee.GetState() « " ";

ostr « employee.GetZipO « " ";

ostr « employee.GetNumExpenses() « " ";

return ostr;

}

istreams operator»(istreams istr. Employees employee) (

char'TempBuffer[256]/ TempChar;'

unsigned long TempUnsignedLong;

unsigned TempUnsigned;

istr » TempOnsigned;

employee.SetID(TempUnsigned);

istr » TempBuffer;

employee.SetFirstName(TempBuffer) ;

istr » TempBuffer; ' • employee.SetLastName(TempBuffer) ;

istr » TempChar;

employee.SetMiddleInitial(TempChar) ;

istr.getline(TempBuffer, 256);

employee.SetAddress(TempBuffer) ;

istr » TempBuffer;

employee.SetCity(TempBuffer);

istr » TempBuffer;

employee.SetState(TempBuffer) ;

istr » TempUnsignedLong;

employee.SetZip(TempUnsignedLong) ;

istr » TempUnsigned;

employee.SetNumExpenses(TempUnsigned);

return istr;

}

Листинг 22.27 является заголовочным файлом, который содержит определение класса Expense.

ftifndef EXPENSE_H ftdefine EXPENSE_H

//' Необходимые заголовки ttinclude <iostream.h> Itinclude <cstring.h>

slass Expense ( aublic:

Expense();