📄 transaction.h
字号:
#include"Account.h"
//......................Transaction Base Class
class Transaction {
public:
Transaction(int uid,int ucode,float uamount);
virtual ~Transaction(){};
int getID();
int getCode();
void setAcct(Account*);
int getTID();
void setTacct(Account*);
void RegetUserAmount();
virtual void execute()=0;
protected:
int id; //account id entered by user
int code; // pin code entered by user
float amount;
Account* acct;// pointer to the account with this id
int tid; // a second account id(for transfer)
Account* tacct; //a pointer to the second account
};
Transaction::Transaction(int uid,int ucode,float uamount){
id=uid;
code=ucode;
amount=uamount;
acct=0;
tid=0;
tacct=0;
}
int Transaction::getID() { return id; }
int Transaction::getCode(){ return code;}
int Transaction::getTID() { return tid; }
void Transaction::setAcct(Account* a) { acct=a; }
void Transaction::setTacct(Account* b){ tacct=b;}
void Transaction::RegetUserAmount(){
float uamount;
cout<<"Please Re-enter amount: ";
cin>>uamount;
amount=uamount;
}
//................................. Deposit Transaction
class DepTransaction : public Transaction {
public:
DepTransaction(int,int ,float);
~DepTransaction(){};
void execute();
};
DepTransaction::DepTransaction(int uid,int ucode,float uamount):Transaction(uid,ucode,uamount){}
void DepTransaction::execute(){
Transaction::acct->deposit(Transaction::amount);// deposit the amount to current account
}
//................................ Balance Transaction
class BalTransaction : public Transaction {
public:
BalTransaction(int,int ,float);
~BalTransaction(){};
void execute();
};
BalTransaction::BalTransaction(int uid,int ucode,float uamount):Transaction(uid,ucode,uamount){}
void BalTransaction::execute(){
}
//............................... Withdraw Transaction
class WithTransaction : public Transaction {
public:
WithTransaction(int,int ,float);
~WithTransaction(){};
void execute();
};
WithTransaction::WithTransaction(int uid,int ucode,float uamount):Transaction(uid,ucode,uamount){}
void WithTransaction::execute(){
Transaction::acct->withdraw(Transaction::amount);// Withdraw the amount to current account
}
//............................... Transfer Transaction
class TranTransaction : public Transaction {
public:
TranTransaction(int,int ,float);
~TranTransaction(){};
void execute();
};
TranTransaction::TranTransaction(int uid,int ucode,float uamount):Transaction(uid,ucode,uamount){}
void TranTransaction::execute(){
Transaction::acct->withdraw(Transaction::amount);// transfer the amount from the current customer
Transaction::tacct->deposit(Transaction::amount);// to another customer account that the user enters
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -