Header For The Account Class

#ifndef ACCOUNT_H
#define ACCOUNT_H
#ifndef RCPOINTE_H
#include "rcpointe.h"
#endif
#ifndef DARRAY_H
#include "darray.h"
#endif
#include 
#if defined(ACCOUNT_TESTDLL)
#define ACCOUNT_CLASS class
#elif defined (ACCOUNT_BUILDDLL)
#define ACCOUNT_CLASS class _export
#else
#define ACCOUNT_CLASS class _import
#endif


ACCOUNT_CLASS Account
{
public:
	Account();
	Account(const string &name,const string &ssNumber,const string &acctNumber,int dispersal,double balance);
	void setValues(const string &name,const string &ssNumber,const string &acctNumber,int dispersal,double balance);
	//Operator functions and disablers
	virtual void deposit(double,char*);//return a statement of current balance
	virtual  int withdrawal(double,char*);
	virtual  int canWithdraw()=0;
	virtual  int canDeposit()=0;
	virtual  int interestDispersal()=0;
	//The following are used to initialize dialog with account information
	void getBalance(char*);// character string with balance
	void getName(char*);//get name
	void getAcctNumber(char*);// get account number
	void getSSNumber(char*);//get social security number
	void getDispersal(char*);//get method used to distribute interest
	void setDispersal(int);//set the mode of interest dispersal.
   	int getDispersal();//when number is needed
  	virtual  void printString(char *);           
	virtual  void getType(char*)=0;
	// When information edited, the whole account record is deleted and
	// replaced with a new record. Account number is fixed and balance no
	// shown. Balance only altered by withdraw and deposit.
	static Account* create(int i); // used to create a counted pointer in main
	static Array getKinds();
   	static string getKindString(int);
	static Array getDispersals();
   	static string getDispersalString(int);
private:
	static char* _kind[];
	static char* _dispersals[];
	double _balance;
	string _acctNumber;
	string _name;
	string _ssNumber;
	int _dispersal;
	virtual  Account* clone()=0;
};
typedef RcPointer AcctPtr;
ACCOUNT_CLASS AccountList :public Array
{
public:
	AccountList(){}
};
#endif