请声明一个类来存储时间。私有成员变量包括:m_iHour,m_iMin,m_iSec。公有成员 函数包括: void set(int aHour,int aMin,int aSec) void display(void)。
时间: 2024-03-10 09:43:45 浏览: 76
好的,这是一个简单的时间类的示例代码:
```cpp
class Time {
private:
int m_iHour;
int m_iMin;
int m_iSec;
public:
void set(int aHour, int aMin, int aSec) {
m_iHour = aHour;
m_iMin = aMin;
m_iSec = aSec;
}
void display() {
std::cout << "Time: " << m_iHour << ":" << m_iMin << ":" << m_iSec << std::endl;
}
};
```
这个类有三个私有成员变量 `m_iHour`、`m_iMin` 和 `m_iSec`,分别表示时、分、秒。有两个公有成员函数:`set` 用于设置时间;`display` 用于打印出时间。
相关问题
void SetTimeVal(u8 type, i16 timeVal) { switch(type) { case TIME_VAL_HOUR: s_iHour = timeVal; break; case TIME_VAL_MIN: s_iMin = timeVal; break; case TIME_VAL_SEC: s_iSec = timeVal; break; default: break; } }
这是一个设置时间变量的函数 SetTimeVal(),它的作用是根据传入的参数 type 来设置不同类型的时间变量。如果 type 等于 TIME_VAL_HOUR,那么就将参数 timeVal 赋值给 s_iHour 变量;如果 type 等于 TIME_VAL_MIN,则将其赋值给 s_iMin 变量;如果 type 等于 TIME_VAL_SEC,则将其赋值给 s_iSec 变量。如果 type 不属于这三种类型,则不进行任何操作。
这个函数通常用来设置系统的时间变量。在嵌入式系统中,时钟相关的代码通常会维护一个时间变量,用来记录当前的小时、分钟、秒数等信息。通过调用这个函数,可以方便地设置这些时间变量的值。例如,如果要将系统时间设置为 23:59:50,可以先调用 SetTimeVal(TIME_VAL_HOUR, 23) 函数将小时数设为 23,然后调用 SetTimeVal(TIME_VAL_MIN, 59) 函数将分钟数设为 59,最后调用 SetTimeVal(TIME_VAL_SEC, 50) 函数将秒数设为 50。这样一来,系统的时间变量就被正确地设置了。
void RunClockPer2Ms(void) { static i16 s_iCnt500 = 0; if(499 <= s_iCnt500 && 0 == s_iClockPauseFlag) { if(59 <= s_iSec) { if(59 <= s_iMin) { if(23 <= s_iHour) { s_iHour = 0; } else { s_iHour++; } s_iMin = 0; } else { s_iMin++; } s_iSec = 0; } else { s_iSec++; } s_iCnt500 = 0; } else { s_iCnt500++; } }
这段代码是一个函数,函数名为RunClockPer2Ms,其功能是定时更新时钟的秒、分、小时。函数中使用了一个静态的i16类型变量s_iCnt500,用于计数500ms的定时器中断次数。当s_iCnt500的值达到499时,表示已经计时完毕,需要更新时钟。同时,需要判断s_iClockPauseFlag是否为0,如果为0表示时钟没有被暂停,可以正常更新。在更新时钟时,先判断秒数s_iSec是否已经达到59,如果达到了则需要将分数s_iMin加1,并将秒数s_iSec重置为0。同样的,如果分数s_iMin已经达到59,则需要将小时数s_iHour加1,并将分数s_iMin重置为0。如果小时数s_iHour已经到23,则需要将其重置为0。最后,将s_iCnt500的值重置为0,继续计时。这段代码通常用于单片机等嵌入式系统中,用于实现时钟计时的功能。
阅读全文