/////// File FreeChecking.C /////// #include #include "FreeChecking.h" float FreeChecking::min_bal = 500.0; float FreeChecking::service_fee = 18.0; FreeChecking::FreeChecking // constructor (unsigned n, double b, char* owner) : Account(n, b, owner), free(b >= min_bal) // init-list { } int FreeChecking::withdraw(double amt) { int ok = Account::withdraw(amt); if ( ok != -1 && balance() < min_bal ) free = 0; return(ok); } void FreeChecking::fee() { if ( ! free ) if ( withdraw(service_fee) == -1 ) cerr << "fee: Insufficient balance for account " << acct_no << endl; free = (balance() >= min_bal); }