问题代码:
#include <iostream>
using namespace std;
class PhoneNumber{
private:
char areaCode[4];
char exchange[4];
char line[9];
public :
friend istream& operator >>(istream &,PhoneNumber &);
friend ostream& operator <<(ostream &,PhoneNumber &);
};
istream& operator >>(istream & input,PhoneNumber &p){
input.getline(p.areaCode,4,' ');
//input.ignore();
input.getline(p.exchange,4,' ');
//input.ignore();
input.getline(p.line,9);
return input;
}
ostream& operator <<(ostream& output,PhoneNumber& p){
output<<"("<<p.areaCode<<")"<<" "<<p.exchange<<"-"<<p.line<<endl;
return output;
}
int main(){
PhoneNumber p;
cin>>p;
cout<<p;
return 0;
}
在vc6.0中,出现如下的错误提示:
解决办法:
#include <iostream>
//using namespace std; //在VC6.0中运行出错
class PhoneNumber{
private:
char areaCode[4];
char exchange[4];
char line[9];
public :
friend std::istream& operator >>(std::istream &,PhoneNumber &);
friend std::ostream& operator <<(std::ostream &,PhoneNumber &);
};
std::istream& operator >>(std::istream & input,PhoneNumber &p){
input.getline(p.areaCode,4,' ');
//input.ignore();
input.getline(p.exchange,4,' ');
//input.ignore();
input.getline(p.line,9);
return input;
}
std::ostream& operator <<(std::ostream& output,PhoneNumber& p){
output<<"("<<p.areaCode<<")"<<" "<<p.exchange<<"-"<<p.line<<std::endl;
return output;
}
int main(){
PhoneNumber p;
std::cin>>p;
std::cout<<p;
return 0;
}