设计一个时钟类,属性包括品牌(string类 ,不变的属性),时,分,秒。功能包括 构造函数,设置时间和报时。 34①常出表成员 要求:所有函数在类外实现。 注意(1)对常数据成员的定义和初始化 (2)对常成员函数的声明与实现
时间: 2024-11-06 11:16:16 浏览: 37
设计一个名为`MyClock`的简单时钟类,可以按照以下步骤实现:
```cpp
class MyClock {
private:
// 品牌作为字符串类型的常量成员,表示品牌不可变
const std::string brand = "SmartTime";
// 时间部分,为整型变量,代表小时、分钟和秒,不是常量
int hour;
int minute;
int second;
public:
// 构造函数,用于初始化时钟的时间
MyClock(int h = 0, int m = 0, int s = 0) : hour(h), minute(m), second(s) {}
// 设置时间函数,允许改变时间值
void setTime(int h, int m, int s) {
if (h >= 0 && h < 24 && m >= 0 && m < 60 && s >= 0 && s < 60) {
hour = h;
minute = m;
second = s;
} else {
// 如果输入非法,这里可以添加错误处理
std::cout << "Invalid time format!" << std::endl;
}
}
// 报时函数,显示当前的时、分、秒
void bellRinging() const {
std::cout << brand << ": " << hour << ":" << minute << ":" << second << "." << std::endl;
}
// 常成员函数,这里仅提供声明,因为题目要求不在类内实现
static void printSeconds();
};
// 实现常成员函数printSeconds(),在这里只能打印秒数
void MyClock::printSeconds() const {
std::cout << "Current seconds: " << second << std::endl;
}
// 在类外部使用示例
int main() {
MyClock clock(12, 30, 45);
clock.setTime(13, 47, 15); // 设置时间
clock.bellRinging(); // 报时
clock.printSeconds(); // 打印秒数
return 0;
}
```
阅读全文