/////////////////////////////////////////////////////////// // Softwarebauelemente II, Aufgabe O3.2 // // author: Stephan Brumme // last changes: May 29, 2001 #if !defined(AFX_CASHOFFICE_H__26E07000_EA3B_11D4_9BB7_AFEE07846A21__INCLUDED_) #define AFX_CASHOFFICE_H__26E07000_EA3B_11D4_9BB7_AFEE07846A21__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // we derive from CRoom #include "Room.h" // derive publicly class CCashOffice : public CRoom { public: // constructors CCashOffice(); CCashOffice(const CCashOffice& cashOffice); CCashOffice(int nNumberOfRoom, int nArea, int nNumberOfCounter); // return class name virtual string ClassnameOf() const { return "CCashOffice"; } // display the attributes virtual string Show() const; // only for internal purposes ! virtual string ShowDebug() const; // validate a cashoffice virtual bool ClassInvariant() const; // copy one cashoffice to another one virtual CCashOffice& operator=(const CCashOffice& cashOffice); virtual bool Copy(const CBasicClass* pClass); // compare two rooms virtual bool operator==(const CCashOffice& cashOffice) const; virtual bool EqualValue(const CBasicClass* pClass) const; // access m_nNumberOfCounter int GetNumberOfCounter() const; void SetNumberOfCounter(const int nNumberOfCounter); // access m_nNumberOfRoom of CRoom int GetNumberOfCashOffice() const; void SetNumberOfCashOffice(const int nNumberOfCashOffice); // deliver m_nArea of CRoom int GetAreaOfCashOffice() const; enum { MAXCOUNTER = 100 }; private: int m_nNumberOfCounter; }; #endif // !defined(AFX_CASHOFFICE_H__26E07000_EA3B_11D4_9BB7_AFEE07846A21__INCLUDED_)