Classe de empregados C++ A inserir a informação.
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class Employee {
private:
string employee_firstname;
string employee_lastname;
string idnumber;
string address;
string phonenumber;
string tenure;
public:
Employee() {
employee_firstname = "";
employee_lastname = "";
idnumber = "";
address = "";
phonenumber = "";
tenure = "0";
}
Employee(string fn, string ln, string id, string ad, string ph, string ten) {
employee_firstname = fn;
employee_lastname = ln;
idnumber = id;
address = ad;
phonenumber = ph;
tenure = ten;
}
string getFirstName();
string getLastName();
string getidnumber();
string getAddress();
string getPhone();
string getTenure();
void setFirstname(string fn) {
employee_firstname = fn;
}
void setLastname(string ln) {
employee_lastname = ln;
}
void setidnumber(string id) {
idnumber = id;
}
void setaddress(string ad) {
address = ad;
}
void setphonenumber(string ph) {
phonenumber = ph;
}
void settenure(string ten) {
tenure = ten;
}
};
string Employee::getFirstName() {
return employee_firstname;
}
string Employee::getLastName() {
return employee_lastname;
}
string Employee::getidnumber() {
return idnumber;
}
string Employee::getAddress() {
return address;
}
string Employee::getPhone()
{
return phonenumber;
}
string Employee::getTenure() {
return tenure;
}
const int employee_num = 3;
int main()
{
Employee num[employee_num] = {
("John", "Smith", 4752, "8971 herlo st", "916-628-8452", 8),
("Cathy", "Guringo", 5826, "538 reed ct", "310-852-6654", 5),
("Kyle", "Ford", 7856, "292 murrietta st", "323-547-7423", 3),
};
for (int i = 0; i < employee_num; i++)
{
cout << num[i].getFirstName() << " ";
cout << num[i].getLastName() << " ";
cout << num[i].getidnumber() << " ";
cout << num[i].getAddress() << " ";
cout << num[i].getPhone() << " ";
cout << num[i].getTenure() << " ";
}
return 0;
}
Vou ser completamente honesto. Não entendo como recuperar e mostrar a informação do empregado aqui. Perguntei ao professor e a forma como ele explica não faz sentido para mim. Ele não consegue explicar de uma maneira diferente.
A mensagem do meu professor é assim:
Escreva uma classe de empregados que contenha os seguintes campos:
- Apelido
- Nome Próprio
- ID do empregado
- endereço
- Telefone Número
- Anos De Emprego
Escreva métodos de mutação adequados para armazenar valores nos campos e métodos de Acesso para devolver os valores nos campos.
na função principal, criar três objectos dos empregados ao introduzir os campos para cada objecto a partir do teclado.
1 answers
A tua inicialização tem alguns problemas:
- estás a atribuir
int
astring
- usando
()
em vez de{}
Muda assim:
Employee num[employee_num] = {
{"John", "Smith", "4752", "8971 herlo st", "916-628-8452", "8"},
{"Cathy", "Guringo", "5826", "538 reed ct", "310-852-6654", "5"},
{"Kyle", "Ford", "7856", "292 murrietta st", "323-547-7423", "3"}
};
Se Quiser Obter estes dados do utilizador, pode usar std::getline
e a sua função setter para atribuir cadeias de caracteres aos seus membros da classe.
Ou pode sobrecarregar operator >>
para obter a entrada do Utilizador da forma que quiser, assim:
friend istream& operator>>(istream& is, Employee& emp)
{
std::cout << "Enter employee first name :";
std::getline(is, emp.employee_firstname);
std::cout << "Enter employee last name :";
std::getline(is, emp.employee_lastname);
std::cout << "Enter employee id number :";
std::getline(is, emp.idnumber);
std::cout << "Enter employee address :";
std::getline(is, emp.address);
std::cout << "Enter employee phone number :";
std::getline(is, emp.phonenumber);
std::cout << "Enter employee tenure :";
std::getline(is, emp.tenure);
return is;
}
Outra coisa é que você pode sobrecarregar operator <<
para sua classe para fazer a impressão da maneira que você quiser, assim:
friend ostream& operator<<(ostream& os, Employee const & emp)
{
return os << emp.employee_firstname << " " << emp.employee_lastname << " " << emp.idnumber << " "
<< emp.address << " " << emp.phonenumber << " " << emp.tenure << " " << endl;
}
E na função main
usa-a assim:
for(int i = 0; i < employee_num; i++)
{
cout << num[i];
}