c ++:输入分钟和秒,用“:”分隔

时间:2018-11-07 17:52:21

标签: c++ operator-overloading c++17

所以,我是c ++的初学者。我有一个作业,其中我必须使用时间长度的结构,并使用运算符重载来输入以':'分隔的时间长度(分钟和秒)。所以我的问题是:如何让编译器知道':'是一个回车(因此它记录分钟)?因此,如果我填写例如2:40,则应这样注册:length.minutes = 2和length.seconds = 40

struct Length
{
    int minutes;            // #minutes (0..)
    int seconds;            // #seconds (0..59)
};

Length l1 = {42,42}, l2 = {0,0}, l3 = {3,21}, l4 = {3,14};

istream& operator>> (istream& in, Length& length)
{// Precondition:
    assert (true) ;
/*  Postcondition:
    the value of length has been read from in: first minutes, then ':', then seconds
*/
    in >> length.minutes >> ':' >> length.seconds;
}

0 个答案:

没有答案