#ifndef _myBody_ #define _myBody_ template class myBody { // ******************************************************** // * myBody * // ******************************************************** // // myBody-klassen skall inte användas löst utan enbart som en // del av myHandle. // Information om myHandle finns i handle.h // // public: //Konstruktör //Pre: True //Post: Datan har kopierats över och ett nytt objekt har skapats explicit myBody(const T& in); //Destruktör //Pre: True //Post: ~myBody(); //Lägg till en referens //Pre: True //Post: Räknat upp antalet referenser med ett void addRef(); //Ta bort en referens //Pre: getNumRef() > 0 //Post: Räknat ner antal referenser med ett void removeRef(); //Få antalet referenser //Pre: True //Post: Returnerat antalet referenser int getNumRef(); //Sätter data-delen //Pre: True //Post: Satt data-delen till ny data void setData(T& newData); //Hämta data-delen //Pre: getNumRef > 0 //Post: Returnerat innehållet i datamedlemmen data; T& getData(); private: //Pekare till data. //Pekare till 0 om antal är 0, annars pekare till en instans av typen T om antal > 0 T* data; //Antalet handtag som pekar på datan //Antal => 0 int antal; }; #include "body.cpp" #endif