class Bank { public: void setDeposit(Account*, int); // deposit 결과 계좌에 반영 bool verifyPassword(Account* account, int pw); // pw가 account 비번 맞는지 확인 }; class ATM { public: ATM(string primary_bank); // Single bank ATM constructor ATM(); // multi bank ATM constructor Account* account; // session 진행되고 있는 계좌 Bank* bank; // account 계좌의 은행 int cash_limit; // 한번에 받을 수 있는 현금 장수 제한 int check_limit; // 한번에 받을 수 있는 수표 장수 제한 static ATM_verify; // single 이면 0 / multi 이면 1 ATM* ATM_list[5]; // ATM obj 담을 수 있는 list -> 5개로 제한, 제한 안하면 이게 가능함??! int remaining_cash; // ATM에 남은 돈 // 3번 bool authorization(); // 유저 session 세팅하는 함수 (카드 입력 후 비밀번호 확인함) // 4번 void deposit(); // 현금/수표 예금 // 5번 void Withdrawal_process(Account* Account_obj); // Withdrawal_process with element void Withdrawal_fee(Account* Account_obj); // Withdrawal_process 수수료 // 10번 void PrintATMAll(); void ShowMenu(User* user) //메뉴 띄우기 void AdminMenu(User* user)//adminMenu 띄우기 string select_btn; }; class Account { public: int id; int password; // Account* Account_list[5]; // Account_obj 담을 수 있는 list -> 5개로 제한, 제한 안하면 이게 가능함??! int balance; // 계좌에 남은 돈 void Withdrawal(ATM* ATM_obj); void PrintAccountAll(); void setBalance(int new_balance); // 계좌 잔고 새로 설정 void getBalance(); // 계좌 잔고 반환 int getPassword(); // 비밀번호 반환 void IsAdmin(); // admin인지 확인 void GetTransacHis(); // transaction history 확인 };
![[Notion] :](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fc0389671-d63b-4c5d-a65d-5113fb1666a2%2Faf276f8d-c43c-4190-a784-11927a8f1c86%2F%25EB%2585%25B8%25EC%2585%2598_%25EC%2595%2584%25EC%259D%25B4%25EC%25BD%2598.png?table=block&id=244dd211-78d0-4c22-8c35-2efb01da5258&cache=v2)