C++ Třídy, která obsahuje dvě funkce. Přidělování paměti v hlavní

0

Otázka

takže se snažím vyřešit následující úkol:

Task

Níže je kód, který jsem vymyslel. Mám problém ukládání dat správně a nejsem si jistá, kam umístit read() a výstup() funkce. To pravděpodobně není příliš obtížné, ale stále si nejsem jistá. Může někdo možná mi dát tip? Děkuji!!!

 #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

Nejlepší odpověď

0

Bez spuštění kódu, vypadá to docela blízko k funkčnímu řešení Jste-udržování dat v oblasti instance váš Zaměstnanec třídy

které ukládáte někde na haldě. A přístup s ukazatelem o

některé návrhy:

Není třeba nic do funkce čtení, je čtení na jednoho zaměstnance údaje za volání.

Pokud chcete vytvořit více zaměstnanců, pak budete chtít vytvořit vektor držet je v, pak pro smyčce, která běží n-krát a uvnitř pro smyčky vytvořit nový zaměstnanec volat jejich čtení a výstupní funkce a přidat je do vektoru (v opačném případě budete ztratit své ukazatele a mají nevracení paměti).

Použití o->read() dereference ukazatel a volat jeho čtení funkce.

Pole své zaměstnance, jsou nejlepší soukromé členské proměnné. I. E jméno,oddělení, věku. To bude ještě zkompilovat a spustit, ale to je lepší design, aby se věci soukromou, pokud mají potřebu být veřejné.

Kromě toho nemyslím si, že budete potřebovat poslední řádek, který jste již vytvořili nový zaměstnanec a ukazatel na to v řádku výše.

a konečně, když jdete odstranit jen iterovat vektor zaměstnanců a odstranit každý z nich.

Krátký na čas v tuto chvíli, ale budu se snažit vrátit a přidat nějaké příklady kódu později, pokud potřebujete.

2021-11-24 20:52:16

V jiných jazycích

Tato stránka je v jiných jazycích

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