Classe C++ che contiene due funzioni. L'allocazione di memoria principale

0

Domanda

così sto cercando di risolvere il seguente compito:

Task

Di seguito è il codice che ho creato. Sto avendo difficoltà a memorizzare i dati in modo corretto e non so dove mettere la read() e di output() funzione. Questo probabilmente non è troppo difficile, ma non sono ancora sicuro. Qualcuno può forse darmi un suggerimento? Grazie!

 #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

Migliore risposta

0

Senza eseguire il codice, somiglia molto da vicino a una soluzione di lavoro Siete talmente semplice mantenere aggiornati i dati nei campi di istanza della classe Employee

che sono memorizzati da qualche parte sul mucchio. E l'accesso con il puntatore o

alcuni suggerimenti:

Non c'è bisogno di passare qualsiasi cosa in funzione di lettura, è la lettura di uno dei dipendenti i dettagli per ogni chiamata.

Se si desidera creare più dipendenti, si desidera creare il vettore per tenere al loro, quindi per un ciclo che viene eseguito n volte e dentro questo ciclo per creare un nuovo dipendente chiamano le loro leggi e le funzioni di output e aggiungerli al vettore (altrimenti si perderanno i puntatori e una perdita di memoria).

Utilizzare o->read() per dereferenziare il puntatore e chiamare la funzione di lettura.

I campi dei tuoi dipendenti sono fatti meglio variabili membro private. I. E nome,dipartimento, l'età. Questo sarà ancora compilare ed eseguire, ma è meglio di design per rendere le cose private, a meno che essi hanno bisogno di essere pubblico.

Inoltre non credo che avete bisogno di l'ultima riga, hai già creato un nuovo dipendente e un puntatore ad esso nella riga sopra.

infine, quando si va a eliminare solo scorrere il vettore dei dipendenti e di eliminare ogni uno.

Poco tempo a disposizione in questo momento, ma cercherò di tornare indietro e aggiungere alcuni esempi di codice in seguito, se avete bisogno di em.

2021-11-24 20:52:16

In altre lingue

Questa pagina è in altre lingue

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