aboutsummaryrefslogtreecommitdiff
path: root/C++/BABS/BankAccount.cpp
blob: ea02d87a1088f41ec6a548a25891dae68fba56b5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <string>

#include "BankAccount.h"

int currId = 0;

BankAccount::BankAccount() {
    id = currId++;
    balance = 0;
}

BankAccount::BankAccount(int initialDeposit) {
    id = currId++;
    balance = initialDeposit;
}


int BankAccount::getId() {
    return id;
}

int BankAccount::getBalance() {
    return balance;
}

bool BankAccount::getCloseStatus() {
    return closed;
}


void BankAccount::deposit(int amount) {
    balance += amount;
}

int BankAccount::withdraw(int amount) {
    if (amount > balance) {
        return -1;
    }
    balance -= amount;
    return amount;
}

std::string BankAccount::toString() {
    return "ID: " + std::to_string(id) + " Balance: " + std::to_string(balance) + ((closed)?" CLOSED":"");
}

void BankAccount::close() {
    closed = true;
}

void BankAccount::reopen() {
    closed = false;
}