--------------------------------------------------------------------------------
class Ring
{
friend class Sauron;public:
bool Wear(Person& theRingBearer) {
theRingBearer.TurnInvisible();
return mWraithList.Alert(theRingBearer);
}bool Rule(PersonList& themAll);
bool Find(PersonList& themAll);
bool Bring(PersonList& themAll));
bool Bind(PersonList& them, Darkness& theDarkness);const string Heat() const { return mInscription; }
private:
Ring() {};~Ring() {
delete gSauron;
gThirdAge.End();
gFourthAge.Begin();
}list<RingWraith> mWraithList;
string mInscription;
};typedef Ring Precious;
--------------------------------------------------------------------------------