In: Computer Science
I am just trying to make confNum static so all my classes can use. Can me help with that please.
.h
#include <stdio.h>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
#include "Customer.hpp"
#include "Employee.hpp"
class BankAccount: public Customer
{
protected:
long AccountNumber;
double Balance;
int confNum;
public:
BankAccount(const string&, const string&, const string&, const string&,long , double, int);//constructor
void setAccountNumber(long);
long getAccountNumber()const;
void setBalance(double);
double getBalance()const;
void setConfNum(int);
int getConfNum();
virtual void deposit(double);
virtual void withdrawl(double);
virtual void writeCheck(double);
virtual void print();
};
#endif /* Bank_Account_hpp */
.cpp
#include "Bank Account.hpp"
#include "Teller.hpp"
double Teller::registerCash;//Static member
BankAccount::BankAccount(const string& first, const string& last, const string& social,const string& IDN,long AccNum, double balance,int num): Customer(first,last,social,AccNum,IDN)
{
setAccountNumber(AccNum);
setBalance(balance);
setConfNum(num);
}
void BankAccount::setAccountNumber(long AccNum)
{
if(AccNum>1000000000 && AccNum<9999999999)
{
AccountNumber=AccNum;
}
}
long BankAccount::getAccountNumber()const
{
return AccountNumber;
}
void BankAccount::setBalance(double balance)
{
if(balance>0)
{
Balance = balance;
}
}
double BankAccount:: getBalance() const
{
return Balance;
}
void BankAccount:: setConfNum(int num)
{
num=(num+1);
confNum=num;
}
int BankAccount::getConfNum()
{
return confNum;
}
void BankAccount::deposit(double amount)
{
Teller::registerCash=amount+Teller::registerCash;
Balance=Balance+amount;
cout<<"The amount of $"<<amount<<" was deposited to the Account #"<<getAccountNumber()<<"."<<endl;
cout<<"The confirmation number: "<< getConfNum()<<"."<<endl<<endl;
}
void BankAccount:: withdrawl(double amount)
{
if(Balance>= amount)
{
Teller::registerCash=Teller::registerCash-amount;
Balance=Balance-amount;
cout<<"The amount of $"<<amount<<" was withdrawn from the Account # "<<getAccountNumber()<<"."<<endl;
cout<<"The confirmation number: "<< getConfNum()<<"."<<endl<<endl;
}
else
{
cout<<"There is not enough money to withdrawl";
}
}
void BankAccount::writeCheck(double amount)
{
if(amount<=Balance)
{
cout<<endl<< "A check was written from the account and the ammount of the check is $"<<amount<<"."<<endl;
withdrawl(amount);
}
else
{
cout<<"There is not enough money available for writing this check"<<endl;
}
}
void BankAccount:: print()
{
cout<<"Bank Account#: "<<getAccountNumber()<<" Balance: $"<< setprecision(2) << fixed << getBalance()<<"."<<endl<<endl;
}
Please find the modified code below.
CODE
#include <stdio.h>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
#include "Customer.hpp"
#include "Employee.hpp"
class BankAccount: public Customer
{
protected:
long AccountNumber;
double Balance;
static int confNum;
public:
BankAccount(const string&, const string&, const string&, const string&,long , double, int);//constructor
void setAccountNumber(long);
long getAccountNumber()const;
void setBalance(double);
double getBalance()const;
void setConfNum(int);
int getConfNum();
virtual void deposit(double);
virtual void withdrawl(double);
virtual void writeCheck(double);
virtual void print();
};
#endif /* Bank_Account_hpp */
.cpp
#include "Bank Account.hpp"
#include "Teller.hpp"
double Teller::registerCash;//Static member
int BankAccount::confNum = 0;
BankAccount::BankAccount(const string& first, const string& last, const string& social,const string& IDN,long AccNum, double balance,int num): Customer(first,last,social,AccNum,IDN)
{
setAccountNumber(AccNum);
setBalance(balance);
setConfNum(num);
}
void BankAccount::setAccountNumber(long AccNum)
{
if(AccNum>1000000000 && AccNum<9999999999)
{
AccountNumber=AccNum;
}
}
long BankAccount::getAccountNumber()const
{
return AccountNumber;
}
void BankAccount::setBalance(double balance)
{
if(balance>0)
{
Balance = balance;
}
}
double BankAccount:: getBalance() const
{
return Balance;
}
void BankAccount:: setConfNum(int num)
{
num=(num+1);
confNum=num;
}
int BankAccount::getConfNum()
{
return confNum;
}
void BankAccount::deposit(double amount)
{
Teller::registerCash=amount+Teller::registerCash;
Balance=Balance+amount;
cout<<"The amount of $"<<amount<<" was deposited to the Account #"<<getAccountNumber()<<"."<<endl;
cout<<"The confirmation number: "<< getConfNum()<<"."<<endl<<endl;
}
void BankAccount:: withdrawl(double amount)
{
if(Balance>= amount)
{
Teller::registerCash=Teller::registerCash-amount;
Balance=Balance-amount;
cout<<"The amount of $"<<amount<<" was withdrawn from the Account # "<<getAccountNumber()<<"."<<endl;
cout<<"The confirmation number: "<< getConfNum()<<"."<<endl<<endl;
}
else
{
cout<<"There is not enough money to withdrawl";
}
}
void BankAccount::writeCheck(double amount)
{
if(amount<=Balance)
{
cout<<endl<< "A check was written from the account and the ammount of the check is $"<<amount<<"."<<endl;
withdrawl(amount);
}
else
{
cout<<"There is not enough money available for writing this check"<<endl;
}
}
void BankAccount:: print()
{
cout<<"Bank Account#: "<<getAccountNumber()<<" Balance: $"<< setprecision(2) << fixed << getBalance()<<"."<<endl<<endl;
}