![]() |
#2
rjsp2018-05-23 16:59
|

#include<iostream>
#include<cstring>
using namespace std;
const int L=100;
class Person {
private:
char name[L],id[L];
public:
Person() {}
Person(char* N,char* I) {
strcpy(name,N);
strcpy(id,I);
}
friend istream& operator >>(istream& is,Person& pe);
friend ostream& operator <<(ostream& os,Person& pe);
};
istream& operator >>(istream& is,Person& pe) {
cout<<"Please input the name:";
is>>pe.name;
cout<<"Please input the id:";
is>>pe.id;
return is;
}
ostream& operator <<(ostream& os,Person& pe) {
cout<<"Name:"<<pe.name<<'\n';
cout<<"Id:"<<pe.id<<endl;
return os;
}
int main() {
Person object_1(),object_2("John","3012256");
cin>>object_1;
cout<<object_1<<endl;
cout<<object_2<<endl;
return 0;
}
报错是:[Error] cannot bind 'std::istream {aka std::basic_istream<char>}' lvalue to 'std::basic_istream<char>&&'
