Keresés

Új hozzászólás Aktív témák

  • dobragab

    addikt

    válasz jattila48 #3061 üzenetére

    Mutatok példát egyszerű osztályokkal. Én erre gondoltam, de a te eseted ezek szerint nem pont ilyen.

    Kicsit elnéztem én is, ugyanis B-t (absztrakt osztályt) nem adhat vissza érték semmilyen a függvény...

    class B
    {
    std::vector<std::string> member1;
    std::map<int, int> member2;

    public:
    B() = delete;

    B(const B& other) = default;
    B& operator=(const B& other) = default;

    B(B&& old) = default;
    B& operator=(B&& old) = default;

    B(std::vector<std::string> const& param1,
    std::map<int, int> const& param2) :
    member1{param1},
    member2{param2}
    { }

    virtual void pure_virtual_func() = 0;

    virtual ~B() { }
    };

    class D : public B
    {
    std::string filename;

    public:

    D(std::string const& filename,
    std::vector<std::string> const& param1,
    std::map<int, int> const& param2) :
    B{param1, param2},
    filename{filename}
    { }

    static D read_from_file(std::string const& filename)
    {
    std::ifstream file(filename);

    std::vector<std::string> myvec;
    std::map<int, int> mymap;

    // load data from file to my___

    return D{filename, myvec, mymap};
    }

    virtual void pure_virtual_func() override
    { }
    };

    Ha valamit félreértettem a feladattal kapcsolatban, szólj :)
    Kódból jobban értek :D

Új hozzászólás Aktív témák