You are trying to create an object of the same name everything the loop loops through.
Employee emp(id, sex, wage, years)[i+1];//Creates an object. Don't do this inside a loop.
do something like this:
Employee emp(id, sex, wage, years)[10]; // There is 10 employees
for(i=0; i<10; i++)
{
cout << "Please enter the following Employess information:" << endl;
cout << "\nEmployee ID No: ";
cin >> id;
cout << "\nEmployee Sex: ";
cin >> sex;
cout << "\nEmployee Wage: ";
cin >> wage;
cout << "\nYears with Company: ";
cin >> years;
emp[i].makeString();
}
EDIT: Actually, you have a constructor to basically zero out all the values. Why do you have Employee emp(id, sex, wage, years)?