| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 929 人关注过本帖
标题:继承和组合 求9!
只看楼主 加入收藏
ryophoenix
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-10-16
收藏
 问题点数:0 回复次数:3 
继承和组合 求9!
利用继承和组合两种方式设计日期时间类
继承方式:
class Time{
private:
int hour;
int minite;
int second;
public:
......
};
class DateTime: public Time{
private:
int year;
int month;
int day;
public:
......
};
组合方式:
class Time{
private:
int hour;
int minite;
int second;
public:
......
};
class DateTime{
private:
Time t;
int year;
int month;
int day;
public:
......
};
把类的定义放在单独存放在头文件中, 类的实现用单独的cpp文件, main函数用单独的cpp文件. 以上两种方式都用同一个main:
main(){
DateTime dt1(2008,8,8,19,0,0);
dt1.disp();
dt1.set(2007,8,8,19,0,0);
dt1.disp();
搜索更多相关主题的帖子: 继承 
2008-01-13 20:54
忘记喧嚣
Rank: 1
等 级:新手上路
帖 子:146
专家分:0
注 册:2007-10-7
收藏
得分:0 
什么问题了???呵呵好奇怪
2008-01-15 22:37
ryophoenix
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-10-16
收藏
得分:0 


    一个朋友问的   我也搞不清楚   真是~!
2008-01-21 01:29
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
头文件代码
程序代码:
class Time{
private:
    int hour;
    int minute;
    int second;

public:
    Time    (const int& nHour,
            const int& nMinute,
            const int& nSecond);
    Time ();
    void disp();
};

class DateTime: public Time{
private:
    int year;
    int month;
    int day;

public:
    DateTime    (const int& nYear, 
                const int& nMonth, 
                const int& nDay, 
                const int& nHour, 
                const int& nMinute, 
                const int& nSecond);
    DateTime();
    void disp();
    void set    (const int& nYear, 
                const int& nMonth, 
                const int& nDay, 
                const int& nHour, 
                const int& nMinute, 
                const int& nSecond);
};
类成员函数实现代码
程序代码:
Time::Time    (const int& nHour,
            const int& nMinute,
            const int& nSecond)
{
    hour = nHour;
    minute = nMinute;
    second = nSecond;
}

Time::Time()
{
    hour = 0;
    minute = 0;
    second = 0;
}
void Time::disp()
{
    cout<<hour<<" Hour(s)"<<endl;
    cout<<minute<<" Minute(s)"<<endl;
    cout<<second<<" Second(s)"<<endl;
}

DateTime::DateTime    (const int& nYear, 
                    const int& nMonth, 
                    const int& nDay, 
                    const int& nHour, 
                    const int& nMinute, 
                    const int& nSecond)
{
    Time(nHour,nMinute,nSecond);
    day = nDay;
    month = nMonth;
    year = nYear;
}

DateTime::DateTime()
{
    Time();
    year = 0;
    month = 0;
    day = 0;
}

void DateTime::disp()
{
    cout<<year<<" Year(s)"<<endl;
    cout<<month<<" Month(s)"<<endl;
    cout<<day<<" Day(s)"<<endl;
    Time::disp();
}

void DateTime::set (const int& nYear, 
                    const int& nMonth, 
                    const int& nDay, 
                    const int& nHour, 
                    const int& nMinute, 
                    const int& nSecond)
{
    Time::Time(nHour,nMinute,nSecond);
    day = nDay;
    month = nMonth;
    year = nYear;
}
这里只给出继承类的构造方法。组合类的构造方法请自行完成。
如果加上对时间/日期是否逾界的代码,类的定义就更完善了。
2008-01-21 10:10
快速回复:继承和组合 求9!
数据加载中...
 
   



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

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