、设计一个计数器类 (Counter) ,其数据成员包括计数器的值;成员函数包括: (1) 初始化 (要求使用带默认参数的构造函数实现,默认参数值设为6) ; (2) 计数器加 1 ; (3) 计数器减1; (4) 显示计数器的值。 2 、设计一个时间类 (Time) ,其数据成员包括时,分,秒;成员函数包括:( 1)加一 秒;(2)按24小时制显示时间universialhour();(3)按12小时制显示时间normalshow() 。 要求分别使用有参数,无参数的构造函数实现数据成员的初始化。
时间: 2023-12-11 10:03:00 浏览: 72
好的,我来回答您的问题。
首先是计数器类 (Counter) 的实现:
```cpp
class Counter {
private:
int count;
public:
Counter(int c = 6) : count(c) {}
void increment() { count++; }
void decrement() { count--; }
void display() { cout << "Counter value: " << count << endl; }
};
```
在这个类中,我们定义了一个私有数据成员 `count` 用来表示计数器的值,以及三个公有成员函数 `increment()` 、 `decrement()` 和 `display()` 分别用来实现计数器加 1、计数器减 1 和显示计数器的值。其中,构造函数使用了带默认参数的形式,如果用户没有传递参数,则默认将计数器的初始值设为 6。
接下来是时间类 (Time) 的实现:
```cpp
class Time {
private:
int hour, minute, second;
public:
Time(int h, int m, int s) : hour(h), minute(m), second(s) {}
Time() : Time(0, 0, 0) {}
void incrementSecond() { second++; }
void universialhour() { cout << hour << ":" << minute << ":" << second << endl; }
void normalshow() {
string am_pm = (hour < 12) ? "AM" : "PM";
int hour12 = hour % 12;
if (hour12 == 0) hour12 = 12;
cout << hour12 << ":" << minute << ":" << second << " " << am_pm << endl;
}
};
```
在这个类中,我们定义了三个私有数据成员 `hour` 、 `minute` 和 `second` 用来表示时间,以及三个公有成员函数 `incrementSecond()` 、 `universialhour()` 和 `normalshow()` 分别用来实现加一秒、按24小时制显示时间和按12小时制显示时间。构造函数使用了有参数和无参数两种方式,分别用来初始化时间和默认将时间设为 0 点 0 分 0 秒。在 `normalshow()` 函数中,我们使用了字符串和整数的类型转换,以及条件运算符和取模运算符来实现按12小时制显示时间。
阅读全文