/* @(#)account.h (c) Telelogic AB */ #ifndef _ACCOUNT_HPP_ #define _ACCOUNT_HPP_ #include "support.h" #include typedef class Update *UpdateObj; typedef class Bank *BankObj; typedef class Customer *CustomerObj; typedef enum { ACCOUNT_NORMAL = 0 } AccountEnum; typedef enum { ACCOUNT_BALANCE_CHOICE = 0, ACCOUNT_CREDITLIMIT_CHOICE = 1, ACCOUNT_END_CHOICE = 2, ACCOUNT_UNKNOWN = 3 } AccountEditEnum; std::istream& operator>>(std::istream& f, AccountEditEnum& choice); class Account { private: void GenInit(); public: int Balance; int CreditLimit; AccountEnum Type; int Code; void Print(); void update(); void close(); void authorize_cash_card(); Account(); Account(int creditlimit); // Lists class Account *same_Customer; class Account *same_Bank; // Update class Update* Update; void add_Update (class Update& a_Update); void rem_Update (class Update& a_Update); void p_connect_Update (class Update& a_Update); void p_disconnect_Update (class Update& a_Update); // Customer class Customer* Customer; void set_Customer (class Customer& a_Customer); void unset_Customer (); void p_connect_Customer (class Customer& a_Customer); void p_disconnect_Customer (class Customer& a_Customer); // Bank class Bank* Bank; void set_Bank (class Bank& a_Bank); void unset_Bank (); void p_connect_Bank (class Bank& a_Bank); void p_disconnect_Bank (class Bank& a_Bank); }; std::istream& operator>>(std::istream& f, Account& account); std::ostream& operator<<(std::ostream& f, Account& account); #endif