37 lines
695 B
C++
37 lines
695 B
C++
#ifndef C_C_BANK_H
|
|
#define C_C_BANK_H
|
|
|
|
#include "BankAccount.h"
|
|
#include "HeapObject.h"
|
|
|
|
/**
|
|
* @namespace banking
|
|
*/
|
|
namespace banking {
|
|
|
|
/**
|
|
* @author Johannes Theiner<kontakt@joethei.xyz>
|
|
* @version 1.0
|
|
*/
|
|
class Bank : public HeapObject {
|
|
private:
|
|
std::string name;
|
|
std::set<std::shared_ptr<BankAccount>> accounts;
|
|
int money;
|
|
public:
|
|
explicit Bank(std::string name);
|
|
|
|
explicit Bank(Bank *bank);
|
|
|
|
void addAccount(BankAccount *account);
|
|
|
|
void moveMoney(std::shared_ptr<Bank> bank, int amount);
|
|
|
|
std::set<std::shared_ptr<BankAccount>> getAccounts();
|
|
|
|
std::string getName();
|
|
};
|
|
|
|
}
|
|
|
|
#endif |