运算符>>重载有关问题

运算符重载问题classTime{friendostream&operator (ostream&output,Time&t){cout t.hour :

运算符>>重载问题
class   Time{
friend   ostream   &operator < <(ostream   &output,Time   &t)
{
cout < <t.hour < < ": " < <t.minute < < ": " < <t.second;
return   output;
}
friend   istream   &operator> > (istream   &input,Time   &t)
{
}
private:
int   hour;int   minute;int   second;
};
要求按照hh-mm-ss的格式输入类Time的对象,不清楚要怎么写那个重载> > 的函数,请大家赐教

[解决办法]
#include <string>
#include <iostream>
#include <sstream>
using namespace std;

class Time
{
friend ostream &operator < <(ostream &output,Time &t)
{
cout < <t.hour < < ": " < <t.minute < < ": " < <t.second;
return output;
}
friend istream &operator> > (istream &input,Time &t)
{
string temp;
input > > temp;
istringstream iss;
iss.str(temp);
iss.str(temp.substr(0, 2));
iss > > t.hour;
iss.clear();
iss.str(temp.substr(3, 2));
iss > > t.minute;
iss.clear();
iss.str(temp.substr(6, 2));
iss > > t.second;
return input;
}
private:
int hour;
int minute;
int second;
};

int main(void)
{
Time t;
cin > > t;
cout < < t < < endl;
return 0;
}