#ifndef _PURENOTE_HPP_ #define _PURENOTE_HPP_ #include #include class PureNote { public: enum{DataLength=2}; PureNote(void); PureNote(const PureNote &somePureNote); ~PureNote(); PureNote &operator=(const PureNote &somePureNote); WORD operator==(const PureNote &somePureNote); WORD readNote(FileIO &musFile); BYTE noteNumber(void)const; BYTE noteVolume(void)const; BYTE hasVolume(void)const; private: BYTE mNoteNumber; BYTE mNoteVolume; BYTE mHasVolume; }; inline PureNote::PureNote(const PureNote &somePureNote) : mNoteNumber(somePureNote.mNoteNumber), mNoteVolume(somePureNote.mNoteVolume), mHasVolume(somePureNote.mHasVolume) { } inline PureNote &PureNote::operator=(const PureNote &somePureNote) { mNoteNumber=somePureNote.mNoteNumber; mNoteVolume=somePureNote.mNoteVolume; mHasVolume=somePureNote.mHasVolume; return *this; } inline PureNote::PureNote(void) : mNoteNumber(0), mNoteVolume(0), mHasVolume(0) { } inline PureNote::~PureNote() { } inline BYTE PureNote::noteNumber(void)const { return mNoteNumber; } inline BYTE PureNote::noteVolume(void)const { return mNoteVolume; } inline BYTE PureNote::hasVolume(void)const { return mHasVolume; } inline WORD PureNote::operator==(const PureNote &somePureNote) { return (mNoteNumber==somePureNote.mNoteNumber&& mNoteVolume==somePureNote.mNoteVolume&& mHasVolume==somePureNote.mHasVolume); } #endif