完善如下时钟类Time,其成员两数在类外完成,编写主函数完成测试。 class Time { public: voidsettime0;1/在键盘上输入时、分、秒 voidshow_time0;1/输出时间 private: int hour, minute,sec; 进一步: 定义和实现。 Time t; t.set_time(12,30,25); (1)如在主两数中按照如下方式调用成员西数,应如何修改类的成员函数 (2)如在主两数中按照如下方式访问数据成员,类的定义应该如何修改。 Time t; cin>>t.hour;
时间: 2024-03-17 14:39:49 浏览: 83
完善后的Time类如下所示:
```
class Time {
public:
void set_time(int h, int m, int s); // 在键盘上输入时、分、秒
void show_time(); // 输出时间
private:
int hour, minute, sec;
};
void Time::set_time(int h, int m, int s) {
hour = h;
minute = m;
sec = s;
}
void Time::show_time() {
cout << hour << ":" << minute << ":" << sec << endl;
}
```
(1) 如果在主函数中按照如下方式调用成员函数:
```
Time t;
t.hour = 10;
t.minute = 30;
t.sec = 0;
```
则需要将Time类的数据成员设为public,即在类定义中将private改为public。
(2) 如果在主函数中按照如下方式访问数据成员:
```
Time t;
cin >> t.hour;
```
则需要将Time类的数据成员设为public,即在类定义中将private改为public。同时,set_time函数也需要修改为public,以便在主函数中调用。修改后的代码如下:
```
class Time {
public:
void set_time(int h, int m, int s); // 在键盘上输入时、分、秒
void show_time(); // 输出时间
public:
int hour, minute, sec; // 数据成员设为public
};
void Time::set_time(int h, int m, int s) {
hour = h;
minute = m;
sec = s;
}
void Time::show_time() {
cout << hour << ":" << minute << ":" << sec << endl;
}
```
阅读全文