void workerManager::addEmp()
{
cout << "请输入你要添加的新职工数量" << endl;
int addNum = 0;
cin >> addNum;
if (addNum > 0)
{
int newSize = this->m_empNum + addNum;
worker** newSpace = new worker * [newSize];
if (this->m_empArray != NULL)
{
for (int i = 0;i < this->m_empNum;i++)
{
newSpace[i] = this->m_empArray[i];
}
}
for (int i = 0;i < addNum;i++)
{
int id;
string name;
int deptId;
cout << "请输入第" << i + 1 << "个新职工编号" << endl;
cin >> id;
cout << "请输入第" << i + 1 << "个新职工姓名" << endl;
cin >> name;
cout << "请选择第" << i + 1 << "个新职工岗位" << endl;
cout << "1.老板" << endl << "2.经理" << endl << "3.员工" << endl;
cin >> deptId;
worker* worker = NULL;
switch (deptId)
{
case 1:
worker = new boss(id, name, 1);
break;
case 2:
worker = new manager(id, name, 2);
break;
case 3:
worker = new employee(id, name, 3);
break;
default:
break;
}
cout << sizeof(&worker) << endl;
newSpace[this->m_empNum + i] = worker; //警告行
}
delete[]this->m_empArray;
this->m_empArray = newSpace;
this->m_empNum = newSize;
cout << "成功添加" << addNum << "位新职工!" << endl;
this->save();
}
else
{
cout << "输入有误,将返回菜单" << endl;
}
system("pause");
system("cls");
}
警告行加注释了,警告行上面那行自己胡乱加的