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
A classe deve ter dois construtores.: - Um construtor por omissão que define os campos como cadeias vazias ( "" ) e 0 para os anos Empregados - Um construtor que aceita os três campos como argumentos e atribui-os ao sobrenome, primeiro nome e ID do empregado.

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.

Author: Dirtyjuice, 2018-04-16

1 answers

A tua inicialização tem alguns problemas:

  1. estás a atribuir int a string
  2. 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];
}
 3
Author: Hamed, 2018-04-16 06:03:44