| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 484 人关注过本帖
标题:[求助]
只看楼主 加入收藏
jackych
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-8-23
收藏
 问题点数:0 回复次数:5 
[求助]
创建有以下数据成员的类Time: 要求重载 + 操作符,用于将Secods字段中包含的值加1.当Seconds的值等于60时,将Minutes的值加1,然后将Seconds的值回复为0.同样,当Minutes的值等于60时,必须 执行下列操作: .Minutes的值回复为0 .Seconds的值回复为0 .Hoursr的值加1 当Hours的值等于24时,所有三个字段的值必须加复为0.必须将这三个字段的值作为参数传递.编写Main()方法,实现上述功能,并在用户的控制台上显示输出结果. 哪位大哥能帮小弟解决一下?在此谢谢了!
标识符 类型
Hours Integer
Minutes Integer
Seconds Integer
搜索更多相关主题的帖子: cccccc 控制台 大哥 用户 
2005-10-12 18:18
jackych
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-8-23
收藏
得分:0 
java里面没有重载,有谁会用c++求吗?

2005-10-12 18:25
jeremydomett
Rank: 2
等 级:新手上路
威 望:3
帖 子:312
专家分:0
注 册:2004-6-10
收藏
得分:0 
java里有重载的.

热爱编程........永不放弃.........
2005-10-12 20:25
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
// Java 里有重载,但没有操作符重载。
// 这个是C++ 代码, 明天我会将它移到C++ 教室板块的。
[CODE]
#include <iostream>
#include <iomanip>
#include <cstdlib>
using namespace std;

class Hours
{
    int h;
public:
    Hours(){}
    Hours(int h){this->h = h;}
    int getH(){ return h;}
    void reset(){h = 0;}
    void operator +=(Hours & h){ this->h += h.h;}
};

class Minutes
{
    int m;
public:
    Minutes(){}
    Minutes(int m){this->m = m;}
    int getM(){ return m;}
    void reset(){ m = 0;}
    void operator +=(Minutes & m){ this->m += m.m;}
};

struct Seconds
{
    int s;
public:
    Seconds(){}
    Seconds(int s){this->s = s;}
    int getS(){ return s;}
    void reset(){ s = 0;}
    void operator +=(Seconds & s){ this->s += s.s;}
};

class Time
{
private:
    Hours hours;
    Minutes minutes;
    Seconds seconds;
    void reset()
    {
        hours.reset();
        minutes.reset();
        seconds.reset();
    }
public:
    Time(Hours h = 0, Minutes m = 0, Seconds s = 0)
    {
        hours = h;
        minutes = m;
        seconds = s;
    }
    Time(Hours h)
    {
        Time(h, 0, 0);
    }
    Time(Minutes m)
    {
        Time(0, m, 0);
    }
    Time(Seconds s)
    {
        Time(0, 0, s);
    }
    Time(Hours h, Minutes m)
    {
        Time(h, m, 0);
    }
    Time(Hours h, Seconds s)
    {
        Time(h, 0, s);
    }
    Time(Minutes m, Seconds s)
    {
        Time(0, m, s);
    }
    Time(Time & t)
    {
        this->hours = t.hours;
        this->minutes = t.minutes;
        this->seconds = t.seconds;
    }
    Time & operator +(Hours & h)
    {
        hours += h;
        if(hours.getH() % 24 == 0)
          reset();
        return *this;
    }
    Time & operator +(Minutes & m)
    {
        minutes += m;
        if(minutes.getM() % 60 == 0)
        {
            seconds.reset();
            minutes.reset();
            Hours hour(1);
            hours += hour;
        }
        return *this;
    }
    Time & operator +(Seconds & s)
    {
        seconds += s;
        if(seconds.getS() % 60 == 0)
        {
            seconds.reset();
            minutes += Minutes(1);
        }
        return *this;
    }
    void plus(Minutes & m, Seconds & s)
    {
        *this = *this + s + m;
    }
    void plus(Hours & h, Seconds & s)
    {
        *this = *this + s + h;
    }
    void plus(Hours & h, Minutes & m)
    {
        *this = *this + m + h;
    }
    void plus(Hours & h, Minutes & m, Seconds & s)
    {
        *this = *this + s + m + h;
    }
    void display()
    {
        cout<<"Now is : "<<setw(2)<<setfill('0')<<hours.getH()<<":"
            <<setw(2)<<setfill('0')<<minutes.getM()<<":"
            <<setw(2)<<setfill('0')<<seconds.getS()<<endl;
    }
};

int main()
{
    Time t(10, 10, 10);
    t.display();

    t.plus(Hours(13), Minutes(48), Seconds(50));
    //you can also try
    //t.plus(Hours(13), Minutes(49), Seconds(50));
    t.display();
    system("pause");
    return 0;
}
[/CODE]

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-10-13 01:18
bagger
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:33
帖 子:891
专家分:0
注 册:2005-8-16
收藏
得分:0 
JAVA是个好东西啊!

【三元毕业设计论文】
三元论文真的只有三元钱
客服QQ:742670649
http://shop35094218./
2005-10-13 13:20
伴我同行
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2005-9-13
收藏
得分:0 
当然是了,不然怎么都来这讨论啊

1.可悲的是生命不会重来; 2.可喜的是生命不需要重来。
2005-10-15 14:31
快速回复:[求助]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023339 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved