wyxznb
想学编程的十六夜
2020-05-15 16:25
采纳率: 100%
浏览 304

怎样在用一个类调用另外的一个类的对象?我下面这样可以吗?求大佬看看!!

一个time类:

class time
{
private:
    int hour, minute, secend;
public:
    friend class datetime;
    time(){}
    time(int h, int min, int s)
    {
        hour = h; minute = min; secend = s;
    }
    void settime()
    {
        cin >> hour >> minute >> secend;
    }
    int gettimeh(int h)
    {
        return hour;
    }
    int gettimem(int min)
    {
        return minute;
    }
    int gettimes(int s)
    {
        return secend;
    }
    void showtime()
    {
        cout << hour << ":" << minute << ":" << secend << " ";
    }
    ~time(){}
};

一个date类:

class date
{
private:
    int year, month, day;

public:
    friend class datetime;
    date(){}
    date(int y, int m, int ri)
    {
        year = y; month = m; day = ri;
    }
    void setdate()
    {
        cin >> year >> month >> day;
    }
    int getdatey(int y)
    {
        return year;
    }
    int getdatem(int m)
    {
        return month;
    }
    int getdated(int ri)
    {
        return day;
    }
    void showdate()
    {
        cout << year << "/" << month << "/" << day << " ";
    }

    ~date() {}
};

最后一个是datetime类:

class datetime
{   
private:
    time t; date d;
public:
    datetime(){}
    datetime(int y, int m, int ri, int h, int min, int s) :d(y, m, ri), t(h, min, s){}
    datetime(datetime &dt)
    {
        t = dt.t; d = dt.d;
    }
    void setdatetime()
    {
        cout << "输入年月日时分秒" << endl;
        d.setdate(); t.settime();
    }
    void showdatetime()
    {
        cout << "输出:\n";
        d.showdate();t.showtime();
    }
    ~datetime(){}

};

datetime dt1;
我想问下如果我要得到dt1中的秒,怎么办?是这样吗s=dt1.t.gettimes(secend)?
新人刚学C++,求助!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • qq_42685012
    胖狗子修行之路 2020-05-15 16:43
    已采纳

    既然你在datetime把time封装了, 那你只能在datetime类中添加方法输出了

        void shows() {
            cout << t.gettimes(100) << endl;
        }
    

    比较奇葩的是 你的get方法怎么还有参数,也没有看到你用它啊

    点赞 评论

相关推荐