// dma1.h -- inheritance and dynamic memory allocation #ifndef INHERDMA_H_ #define INHERDMA_H_ // Base Class Using DMA class smallDMA { private: char * label; int rating; public: smallDMA(const char * s = "null", int r = 0); smallDMA(const smallDMA & rs); ~smallDMA(); smallDMA & operator=(const smallDMA & rs); friend ostream & operator<<(ostream & os, const smallDMA & rs); }; // derived class without DMA class mediumDMA :public smallDMA { private: char color[40]; public: Brass(const char *s = "Nullbody", long an = -1, double bal = 0.0) : AcctABC(s, an, bal) { } virtual void Withdraw(double amt); virtual void ViewAcct() const; virtual ~Brass() {} }; //Brass Plus Account Class class BrassPlus : public AcctABC { private: double maxLoan; double rate; double owesBank; public: BrassPlus(const char *s = "Nullbody", long an = -1, double bal = 0.0, double ml = 500, double r = 0.10); BrassPlus(const Brass & ba, double ml = 500, double r = 0.1); virtual void ViewAcct()const; virtual void Withdraw(double amt); void ResetMax(double m) { maxLoan = m; } void ResetRate(double r) { rate = r; }; void ResetOwes() { owesBank = 0; } }; #endif