---
name: "AbstractBankAccount"
section: "3"
platform: "linux"
package: "libcorelinux-dev"
version: "0.4.32-5"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/AbstractBankAccount"
---

# AbstractBankAccount(3)

AbstractBankAccount provides the interface for all accounts used in this application.

## NAME

AbstractBankAccount - AbstractBankAccount provides the interface for all accounts used in this application.

## SYNOPSIS

`#include <AbstractBankAccount.hpp>`

Inherited by **AccountProxy**, and **BankAccount**.

### Public Member Functions

**AbstractBankAccount** (void)\
 *Default constructor.*  **AbstractBankAccount** (**AbstractBankAccountCref** aRef)\
 *Copy constructor.*  virtual **~AbstractBankAccount** (void)\
 *Virtual Destructor.*  **AbstractBankAccountRef** **operator=** (**AbstractBankAccountCref** aRef)\
 *Assignment operator.*  bool **operator==** (**AbstractBankAccountCref** aRef) const \
 *Equality operator.*  virtual AmountCref **getBalance** (void) const =0\
 *Retrieve the account balance.*  virtual void **withdrawFunds** (Amount)=0  throw (InsufficientFundsException)\
 *Withdraw an amount of funds from the account.*  virtual void **depositFunds** (Amount)=0  throw (InsufficientFundsException)\
 *Deposit funds into the account.*

## Detailed Description

AbstractBankAccount provides the interface for all accounts used in this application.

Common methods such as withdrawing and depositing funds are made available, as well as retrieving the balance of the account.

## Member Function Documentation

### virtual void AbstractBankAccount::depositFunds (Amount) throw (InsufficientFundsException)` [pure virtual]`

Deposit funds into the account. **Parameters:**

*Amount* - to deposit

Implemented in **AccountProxy**, and **BankAccount**.

### virtual AmountCref AbstractBankAccount::getBalance (void) const` [pure virtual]`

Retrieve the account balance. **Returns:**

Amount const reference to balance

Implemented in **AccountProxy**, and **BankAccount**.

### AbstractBankAccountRef AbstractBankAccount::operator= (AbstractBankAccountCref aRef)` [inline]`

Assignment operator. **Parameters:**

*AbstractBankAccount* const reference

**Returns:**

AbstractBankAccount reference

### bool AbstractBankAccount::operator== (AbstractBankAccountCref aRef) const` [inline]`

Equality operator. **Parameters:**

*AbstractBankAccount* const reference

**Returns:**

bool - True if same instances

### virtual void AbstractBankAccount::withdrawFunds (Amount) throw (InsufficientFundsException)` [pure virtual]`

Withdraw an amount of funds from the account. **Parameters:**

*Amount* - amount to withdraw

**Exceptions:**

*InsufficientFundsException* if the amount requested to withdraw is not available in the account funds

Implemented in **AccountProxy**, **BankAccount**, and **RestrictedAccountProxy**.

## Author

Generated automatically by Doxygen for CoreLinux++ from the source code.
