Глава 22. Обработка исключительных ситуаций 621

void SetDate(const strings strNewDate)

( strDate = strNewDate; } void SetDescription(const strings strNewDescription)

{ strDescription = strNewDescription; } void SetExpenseAmount(float NewExpenseAmount)

{ ExpenseAmount = NewExpenseAmount; }

string GetDatef) const { return strDate; }

string GetDescription() const { return strDescription; }

float GetExpenseAmount() const { return ExpenseAmount; }

private:

string strDate;

string strDescription;

float ExpenseAmount;

};

ostreams operator«(ostreams ostr, const Expenses employee);

istreams operator»(istreams istr. Expenses employee);

#endif

На листинге 22.28 показан исходный файл Expense.cpp, содержащий реализацию класса Expense.

// Необходимые заголовки #include <expense.h>

Expense::Expense() :

ExpenseAmount(0.OF) ( )

ostreams operator«(ostreams ostr, const Expenses'expense)

(

ostr « expense.GetDatef) « " ";

ostr « expense.GetDescriptionO « "\n";

ostr « expense.GetExpenseAmount() « " ";

return ostr;

istreams operator»(istreams istr. Expenses expense) {

char TempBuffer[256];

float TempFloat;

istr » TempBufter;

expense.SetDate(TempBuffer) ;

istr.getline(TempBuffer, 256);

expense.SetDescription(TempBuffer);