我有一個計時器類,裏面有一個標誌。當我們沒有調用的init(),標記爲0後,我們調用的init(),它將我們所說的端部(後置爲1),它將被重新設置爲0。如何正確設置標誌
class TimerHao
{
private:
double seconds;
int flag=0; //0: Have not start accumulation. 1: In accumulation, between init() and end();
public:
void init();
void end();
};
void TimerHao::init()
{
if(flag!=0) { throw runtime_error("ERROR!!! Cannot initial the timer before it is ended!"); }
...
flag=1;
}
void TimerHao::end()
{
if(flag!=1) { throw runtime_error("ERROR!!! Cannot end the timer before it is initialized!");}
...
flag=0;
}
我可以通過使用代碼:
TimerHao timerhao;
timerhao.init();
...
timerhao.end();
...
timerhao.init();
...
timerhao.end();
...
我不喜歡標誌設置爲一個整數,我需要閱讀的註釋,以瞭解其含義。實際上,我在我的代碼中使用了這種標誌,例如標誌可以是0,1,2,3,5,每個數字意味着不同的事物。有時候,我對自己的代碼感到困惑,我必須仔細閱讀註釋以瞭解我在做什麼。有沒有一種明確的方法來處理這個標誌?謝謝。
如何使用'enum'來代替? –
你想要的是一個枚舉 – UKMonkey
爲它添加一個'enum'。 –