所以,我是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;
}