#pragma once #include using namespace std; namespace Example { class Bank; // forward declaration // An AccountHolder has one bank account class AccountHolder { public: AccountHolder(const string& name, const string& address); virtual ~AccountHolder(); void chooseBank(Bank& bank); // callback used to receive regular statements from the bank void receiveStatement(const string& date, float balance); void deposit(float sum); void withdraw(float sum); protected: // only an AccountHolder can get their own balance float getBalance() const; private: string m_fullName; string m_address; float m_balance; // the current balance, per the AccountHolder's records Bank* m_bank; }; }