Classe C++ que contém duas funções. A alocação de memória principal

0

Pergunta

então, eu estou tentando resolver as seguintes tarefas:

Task

Abaixo está o código que eu vim acima com. Estou tendo problemas para armazenar os dados corretamente e eu não tenho certeza onde colocar a leitura (a) e de saída() função. Isso provavelmente não é muito difícil, mas eu ainda não estou certo. Alguém pode, talvez, me dar uma dica? Obrigado!

 #include <iostream>
#include <iomanip>

using namespace std;

class Employee
{
public:
    string name, department;
    int age;

    void output(string &a, int &b, string &c)
    {
        cout << name << endl;
        cout << "Age: " << age << " years" << endl;
        cout << "Department: " << department << endl;
    }

    void read(int &n)
    {
            cout << "Enter number, last name and first name:";
            cin >> name;

            cout << "Enter age:";
            cin >> age;

            cout << "Enter department:";
            cin >> department;
        }
};

int main() {
    int n;
    cout << "Enter number of employees: ";
    cin >> n;
    Employee* o = new Employee;
    Employee employee;



   delete o;
}
c++ c++14 class dynamic
2021-11-23 19:11:33
1

Melhor resposta

0

Sem a execução de seu código, ele parece muito perto de uma solução de trabalho Você está mantendo os dados nos campos da instância de sua classe de Funcionários

o que você está armazenando em algum lugar no heap. E acessar com o ponteiro do ó

algumas sugestões:

Não é necessário passar nada para a função de ler, é ler em um funcionários detalhes por chamada.

Se você deseja criar vários funcionários, então você iria querer criar vetor para armazená-los e, em seguida, um loop for, que executa n vezes e dentro desse loop para criar um novo funcionário chamar a sua leitura e as funções de saída e adicioná-los para o vetor (caso contrário, você vai perder o seu ponteiros e ter um vazamento de memória).

Use o->read() para cancelar o ponteiro do mouse e chamar a sua função de leitura.

Os campos de seu empregado são melhor feitas variáveis de membro privado. I. o nome,departamento de idade. Isto irá compilar e executar, mas não é o melhor projeto para tornar as coisas privado, a menos que tenham uma necessidade pública.

Além disso, eu não acho que você precisa da última linha, você já criou um novo trabalhador e um ponteiro para ele na linha acima.

por último, quando você vai para excluir basta iterar através de seu vetor de funcionários e eliminar cada um deles.

Pouco tempo neste momento, mas vou tentar círculo de volta e adicionar alguns exemplos de código, mais tarde, se você precisar de em.

2021-11-24 20:52:16

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................