C++ Trieda, ktorá obsahuje dve funkcie. Prideľovanie pamäte v hlavnej

0

Otázka

tak som sa snažia riešiť nasledujúce úlohy:

Task

Nižšie je uvedený kód, ktorý som prísť s. Mám problémy s ukladanie údajov, správne a nie som si istý, kam dať read() a výstupu() funkcia. To asi nie je príliš ťažké, ale ja som stále nie je istý. Môže niekto možno mi dať tip? Ďakujeme!

 #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

Najlepšiu odpoveď

0

Bez spustenia kódu, vyzerá to celkom blízko pracovný roztok Ste vedenie údajov v oblasti stupňa váš Zamestnanec triedy

ktoré ukladáte niekde na haldy. Prístup s ukazovateľa o

niektoré návrhy:

Nie je potrebné odovzdať niečo do prečítajte si funkciu, je to čítanie na jeden zamestnancov podrobnosti na volanie.

Ak chcete vytvoriť viacero zamestnancov, potom by ste chceli vytvoriť vektor držať ich v, potom pre slučky, ktorá sa spustí n-krát a vo vnútri, ktoré pre slučky vytvoriť nový zamestnanec volať ich čítať a výstup funkcie a pridať ich do vektor (inak prídete o svoje odkazy a majú memory leak).

Pomocou o->read() s presmerovaním ukazovateľ a zavolať jeho čítať funkciu.

Polia vašich zamestnancov sú najlepšie vyrobené súkromné členských premenných. I. E meno,oddelenie, vek. To bude stále skompilovať a spustiť, ale je to lepšie navrhnúť, aby sa veci súkromné, pokiaľ majú potrebu byť verejné.

Okrem toho, nemyslím si, že potrebujete posledný riadok, už máte vytvorený nový zamestnanec a ukazovateľ na to v súlade vyššie.

napokon, keď idete odstrániť len iterovať cez váš vektor zamestnancov a odstrániť každý jeden.

Krátky čas v tomto okamihu, ale budem sa snažiť, aby sa kruh späť a pridať nejaký kód príklady neskôr, ak budete potrebovať em.

2021-11-24 20:52:16

V iných jazykoch

Táto stránka je v iných jazykoch

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