#include #include #include using namespace std; class Kasutaja{ bool seisund; //true-sees, false-väljas int viimaneSisenemine; int viimaneSeesOlekuAeg; int kokkuSeesOldudAeg; public: Kasutaja(){ seisund=false; kokkuSeesOldudAeg=0; } void sisenes(long aeg){ if(seisund){throw "juba sees";} seisund=true; viimaneSisenemine=aeg; } void lahkus(long aeg){ if(!seisund){throw "juba lahkunud";} seisund=false; viimaneSeesOlekuAeg=aeg-viimaneSisenemine; kokkuSeesOldudAeg+=viimaneSeesOlekuAeg; } bool kasSees(){ return seisund; } int kysiViimaneSeesOlekuAeg(){ return viimaneSeesOlekuAeg; } int kysiKokkuSeesOldudAeg(long aeg){ if(kasSees()){ return kokkuSeesOldudAeg+(aeg-viimaneSisenemine); } return kokkuSeesOldudAeg; } }; int main(void){ map kasutajad; kasutajad["juku"]=new Kasutaja(); if(!kasutajad["kati"]){ kasutajad["kati"]=new Kasutaja(); } kasutajad["kati"]->sisenes(10); cout << kasutajad["kati"]->kysiKokkuSeesOldudAeg(15) << endl; }