c ++: ввод минут и секунд, разделенных ':' - PullRequest
0 голосов
/ 07 ноября 2018

Итак, я новичок в 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;
}
...