我正在尝试通过使用>>或getline的用户输入来添加变量,但是它们都给它们提供了空值。众所周知,getline
不会忽略前导空格字符,这就是为什么我使用诸如employeeName=" ";
string designation=" ";
这样的字符串空格的原因。
谁能帮我获得正确的输出
class Employee{
public:
int employeeId,salary;
string employeeName=" ";
string designation=" ";
void getEmployee(){
cin>>employeeId;
getline(cin,employeeName);
getline(cin,designation);
cin>>salary;
}
void ShowEmployee(){
cout<<"Employee Id="<<employeeId<<"\n";
cout<<"Employee Name="<<employeeName<<"\n";
cout<<"Designation="<<designation<<"\n";
cout<<"Salary="<<salary<<"\n";
}
};
int main() {
Employee ob;
ob.getEmployee();
ob.ShowEmployee();
}
谁能帮我 :)
最佳答案
但是您没有在示例中调用getEmployee。你忘了吗?
您也可以尝试将std::istream&传递给它的构造函数,例如
Employee(std::istream& in) {
in >> this->employeeId;
in >> this->salary;
....
}
关于c++ - 即使>>和getline都获取null输出,即使我正在使用字符串空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60964601/