下面这一段代码主要有一点不理解的地方,就是while里面的判断内容为什么能这样写?
//初始化员工
//作用:将硬盘中存储的数据读到内存中供修改和使用
void WorkerManager::initEmp() {
ifstream ifs;
ifs.open(FILENAME, ios::in);
int id;
string name;
int deptId;
int index = 0;
while (ifs >> id && ifs >> name && ifs >> deptId) {
Worker* worker = NULL;
switch (deptId) {
case 1:
worker = new Employee(id, name, deptId);
break;
case 2:
worker = new Manager(id, name, deptId);
break;
case 3:
worker = new Boss(id, name, deptId);
break;
default:
break;
}
this->m_EmpArray[index] = worker;
index++;
}
//关闭文件
ifs.close();
}
总感觉这个io流学的不熟悉,看代码都有点不明白。