Can you fix the problem with the following code #include <iostream> #include <iomanip> using namespace std; class bankAccount {public: bankAccount(int,double); void setAccNum(int); int getAccNum(); double getBalance(); void withdraw(double); void deposit(double); void print(); protected: int accNum; double balance; }; class savingsAccount: public bankAccount {public: savingsAccount(int,double); void setRate(double); double getRate(); void withdraw(double); void postInterest(); void savingsAccount::print(); protected: double rate; }; class checkingAccount: public bankAccount { public: checkingAccount(int accNum,double bal); double getMinBal(); double getRate(); double getFee(); void setMinBal(double); void setRate(double); void setFee(double); void postInterest(); bool checkMinBal(double); void checkingAccount::writeCheck(double); void withdraw(double); void print(); protected: double rate,minBal,fee; }; bankAccount::bankAccount(int n,double b) {accNum=n; balance=b; } void bankAccount::setAccNum(int a) {accNum=a; } int bankAccount::getAccNum() {return accNum; } double bankAccount::getBalance() {return balance; } void bankAccount::withdraw(double a) {balance-=a; } void bankAccount::deposit(double a) {balance+=a; } void bankAccount::print() {cout<<accNum<<"Balance: $"<<setprecision(2)<<fixed<<balance<<endl; } checkingAccount::checkingAccount(int n,double b):bankAccount(n,b) {setRate(.04); setMinBal(500); setFee(20); } double checkingAccount::getMinBal() {return minBal; } double checkingAccount::getRate() {return rate; } double checkingAccount::getFee() {return fee; } void checkingAccount::setMinBal(double m) {minBal=m; } void checkingAccount::setRate(double r) {rate=r; } void checkingAccount::setFee(double f) {fee=f; } void checkingAccount::postInterest() {balance+=(balance*rate); } bool checkingAccount::checkMinBal(double a) {if(balance-a>=minBal) return true; else return false; } void checkingAccount::writeCheck(double a) {withdraw(a); } void checkingAccount::withdraw(double a) {if(balance-a<0) cout<<"insufficient funds for $"<<a<<" withdrawal\n"; else if(balance-a<minBal) if(balance-a-fee<minBal) cout<<"insufficient funds for withdrawal + fees, since balance will be below minimum\n"; else {cout<<"balance below minimum. $"<<fee<<" fee charged\n"; balance-=(a+fee); } else balance-=a; } void checkingAccount::print() {cout<<"Interest Checking ACCT#:\t"<<getAccNum() <<"\tBalance: $"<<setprecision(2)<<fixed<<getBalance()<<endl; } savingsAccount::savingsAccount(int n,double b):bankAccount(n,b) {setRate(.06); } double savingsAccount::getRate() {return rate; } void savingsAccount::setRate(double r) {rate=r; } void savingsAccount::withdraw(double a) {if(balance-a<0) cout<<"insufficient funds for $"<<setprecision(2)<<fixed<<" withdrawal\n"; else balance-=a; } void savingsAccount::postInterest() {balance+=(balance*rate); } void savingsAccount::print() {cout<<"Savings ACCT#:\t\t\t"<<getAccNum() <<"\tBalance: $"<<setprecision(2)<<fixed<<getBalance()<<endl;.