/* Name: checking.cpp * Purpose: Implementation File for Bank Checking Account Class * Author: Dr. Michael A. Redmond * Date Written: 05/04/98 * Date Revised: * NOTES: */ // in checking.cpp #include "account.h" #include #include "checking.h" #include using namespace std; Checking::Checking() : Account(), numChecksWritten(0), lowestBalanceThisMonth(0) { } // bal defaults to 0.0 // currNumChecks defaults to 0 Checking::Checking(const string& numb, double bal, int currNumChecks) : Account(numb,bal), numChecksWritten(currNumChecks), lowestBalanceThisMonth(bal) { } double Checking::ProcessCheck(double amount) { assert (amount > 0); Withdraw(amount); if (GetBal() < lowestBalanceThisMonth) { lowestBalanceThisMonth = GetBal(); } // charging waits for month end numChecksWritten++; return GetBal(); } double Checking::ProcessMonthEnd() { if (lowestBalanceThisMonth < minBal) { double charge = numChecksWritten * perCheckCharge; Withdraw(charge); } return GetBal(); }