SDUT oj面向对象2-2 Time类的定义

本文介绍了一个简单的C++时间类的设计与实现过程。该类包含私有成员变量hour、minute和second,并提供了一系列公有成员函数用于设置和显示时间。通过本实践,读者可以了解如何使用C++进行面向对象编程。

2-2 Time类的定义

Time Limit: 1000MS Memory Limit: 65536KB

Problem Description

通过本题目的练习可以掌握类与对象的定义;

设计一个时间类Time,私有数据成员有hour(时)、minute(分)、second(秒);

公有成员函数有:setHour(int)设置数据成员hour的值(采用12小时制),非法的输入默认为12;setMinue(int)设置数据成员minute的值,非法输入默认为0;setSecond(int)设置数据成员second的值,非法输入默认为0;setTime(int,int,int)设置时、分、秒三个数据成员的值; showTime()显示时间对象的值。

在主函数main()中调用相应成员函数,使得时间对象的值能从键盘接收,并正确显示。

提示:时、分、秒均按2位数值形式显示 。

Input

输入3个整数,用一个空格间隔

Output

输出 时、分、秒的值,中间用“:”间隔

Example Input

10 11 12

Example Output

10:11:12

Author

 黄晶晶

c++面向对象类的入门操作

#include <iostream>

using namespace std;

class Time
{
private:
  int hour;
  int minute;
  int second;
public:
  int Sethour(int a)
  {
    if(a<0||a>12)
      a=12;
    else
      a=a;
    return a;
  }
  int Setminte(int b)
  {
    if(b<0||b>60)
      b=0;
    else
      b=b;
    return b;
  }
  int Setsecond(int c)
  {
    if (c<0||c>60)
      c=0;
    else
      c=c;
    return c;
  }
  void setTime(int a, int b, int c)
  {
    hour=a;
    minute=b;
    second=c;
  }
  void  ShowTime()
  {
    if(hour>=10)
      cout<<hour ;
    else
      cout<<"0"<<hour;
    cout<<":";
    if(minute>=10)
      cout<<minute;
    else
      cout<<"0"<<minute;
    cout<<":";
    if(second>=10)
      cout<<second<<endl;
    else
      cout<<"0"<<second<<endl;
  }
};
int main()
{
  Time T;
  int a,b,c;
  cin>>a>>b>>c;
  a=T.Sethour(a);
  b=T.Setminte(b);
  c=T.Setsecond(c);
  T.setTime(a,b,c);
  T.ShowTime();
  return 0;
}

 

 

 

### SDUT Time定义使用方法 #### 1. Time定义 Time是一种用于表示时间的对象,其主要功能是存储和操作时间数据。根据引用[^1],Time包含以下成员函数: - `setHour(int)`:设置小时数,非法输入默认为12- `setMinute(int)`:设置分钟数,非法输入默认为0。 - `setSecond(int)`:设置秒数,非法输入默认为0。 - `setTime(int, int, int)`:同时设置小时、分钟和秒的值。 - `showTime()`:显示当前时间对象的值。 以下是Time的基本定义代码示例: ```cpp #include <iostream> using namespace std; class Time { private: int hour; int minute; int second; public: void setHour(int h) { if (h >= 0 && h <= 23) { hour = h; } else { hour = 12; // 默认值 } } void setMinute(int m) { if (m >= 0 && m <= 59) { minute = m; } else { minute = 0; // 默认值 } } void setSecond(int s) { if (s >= 0 && s <= 59) { second = s; } else { second = 0; // 默认值 } } void setTime(int h, int m, int s) { setHour(h); setMinute(m); setSecond(s); } void showTime() { cout << setw(2) << setfill('0') << hour << ":" << setw(2) << setfill('0') << minute << ":" << setw(2) << setfill('0') << second << endl; } }; ``` #### 2. Time使用方法 Time使用主要包括创建对象、设置时间值以及显示时间值。以下是一个完整的示例程序,展示如何使用Time: ```cpp int main() { Time t; // 创建Time对象 // 设置时间 t.setHour(14); // 设置小时 t.setMinute(30); // 设置分钟 t.setSecond(45); // 设置秒 // 显示时间 t.showTime(); // 输出:14:30:45 // 使用setTime方法设置时间 t.setTime(25, 60, 70); // 输入非法值 t.showTime(); // 输出:12:00:00(默认值) return 0; } ``` 在上述示例中,`setTime(25, 60, 70)`中的非法值会被自动替换为默认值。 #### 3. 示例说明 - **私有成员变量**:`hour`、`minute`和`second`用于存储时间的小时、分钟和秒。 - **公有成员函数**:提供了设置和显示时间的功能。 - **非法值处理**:当输入的时间值超出合法范围时,会自动使用默认值进行替代。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值