C++ Clasa care conține două funcții. Alocarea de memorie în principal

0

Problema

deci, eu sunt încercarea de a rezolva următoarele sarcini:

Task

Mai jos este codul care am venit cu. Am probleme cu stocarea datelor în mod corect și nu sunt sigur în cazul în care pentru a pune read() și de ieșire() funcție. Acest lucru probabil că nu este prea dificil, dar încă nu sunt sigur. Poate cineva poate da-mi un indiciu? Vă mulțumesc!

 #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

Cel mai bun răspuns

0

Fără a executa codul, se pare destul de aproape de o soluție de lucru Sunteți păstrarea datelor în domeniile de exemplu de Angajat clasa

care sunt stocate undeva pe heap. Și accesarea cu indicatorul o

câteva sugestii:

Nu este nevoie să treacă ceva în funcția de citire, este citit într-una angajați detalii pe telefon.

Dacă doriți să creați mai multe angajații atunci ce-ar vrea să creeze vector să le dețină, apoi o buclă pentru care se execută de n ori și în care pentru bucla a crea un nou angajat call citește și funcții de ieșire și adăugați-le la vector (în caz contrar vei pierde indicii și de a avea o scurgere de memorie).

Utilizați o->read() pentru a dereference indicatorul și chema funcția de citit.

Domeniile de angajat sunt cel mai bine realizate privat variabile membre. I. E nume,departament, de vârstă. Acesta va compila și rula, dar este mai bun design pentru a face lucruri private, cu excepția cazului în care au nevoie să fie publice.

În plus nu cred că ai nevoie de ultima linie, ați creat deja un nou angajat și un pointer la el în linia de mai sus.

în cele din urmă, atunci când te duci pentru a șterge repeta doar prin vectorul de angajați și a șterge fiecare.

Pe scurt timp în acest moment, dar voi încerca să întoarcem și se adaugă câteva exemple de cod mai târziu, dacă aveți nevoie de ele.

2021-11-24 20:52:16

În alte limbi

Această pagină este în alte limbi

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