64,662
社区成员
发帖
与我相关
我的任务
分享
class Time {
private:
int hour;
int minute;
int sec;
public:
friend istream& operator>>(istream&,Time &);
friend ostream& operator<<(ostream&,Time &);
};
istream& operator>>(istream& input,Time &t) {
cout<<"input hour,minute and second of a time:";
input>>t.hour>>t.minute>>t.sec;
return input;
}
ostream& operator<<(ostream& output,Time &t) {
output<<t.hour<<":"<<t.minute<<":"<<t.sec;
return output;
}
#include <iostream>
using std::istream;
using std::ostream;
using std::cout;
using std::cin;
class Time {
public:
Time(int h, int m, int s){
hour = h;
minute = m;
sec = s;
}
private:
int hour;
int minute;
int sec;
public:
friend istream& operator >>(istream&,Time &);
friend ostream& operator <<(ostream&,Time &);
};
istream& operator>>(istream& input,Time &t) {
cout<<"input hour,minute and second of a time:";
input>>t.hour>>t.minute>>t.sec;
return input;
}
ostream& operator<<(ostream& output,Time &t) {
output<<t.hour<<":"<<t.minute<<":"<<t.sec;
return output;
}
int main(){
Time t(1, 2, 3);
cin >> t;
cout << t;
system("pause");
return 0;
}
include <iostream>
include "overload.h
using namespace std;"
using namespace std;
/*或者用
using std::istream;
using std::ostream;*/
因此造成了编译器对Time类里面声明的两个友元函数中的istream和ostream识别不出(可vs2010特有的下划线报错功能并没有对这个地方进行报错额...+_+)。
using std::istream;
using std::ostream;
using std::cout;
class Time {
private:
int hour;
int minute;
int sec;
public:
friend istream& operator >>(istream&,Time &);
friend ostream& operator <<(ostream&,Time &);
};
istream& operator>>(istream& input,Time &t) {
cout<<"input hour,minute and second of a time:";
input>>t.hour>>t.minute>>t.sec;
return input;
}
ostream& operator<<(ostream& output,Time &t) {
output<<t.hour<<":"<<t.minute<<":"<<t.sec;
return output;
}