abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:22 | Nová verze

    Byla vydána OpenMandriva Lx 6.0 s kódovým názvem Vanadium. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 01:44 | Zajímavý článek

    CSIRT.CZ, český národní CERT provozovaný na základě veřejnoprávní správní smlouvy společností CZ.NIC, shrnuje patnáct let svého fungování pod tímto sdružením: CSIRT.CZ – 15 let ve sdružení CZ.NIC.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Nová verze

    Commodore OS Vision (Wikipedie) byl vydán v nové verzi 3.0. Jedná se o linuxovou distribuci určenou pro fanoušky značky Commodore. Předinstalována je na počítačích Commodore 64x.

    Ladislav Hagara | Komentářů: 2
    včera 16:22 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 208. brněnský sraz, který proběhne v pátek 25. dubna od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Zajímavý článek

    Ve svém článku Getting Forked by Microsoft popisuje autor programu Spegel svoji nepříjemnou zkušenost s firmou Microsoft. Firma ho kontaktovala a zpočátku to vypadalo, že by mohlo jít o oboustranně prospěšnou spolupráci, autor tedy ochotně odpovídal na jejich otázky ohledně architektury programu a pomáhal jim ho zprovoznit. Následně komunikace ze strany Microsoftu utichla. Autor předpokládal, že zřejmě došlo ke změně priorit a firma

    … více »
    xkucf03 | Komentářů: 11
    včera 01:33 | IT novinky

    Společnost Notion Labs stojící za softwarovou platformou pro spolupráci Notion (Wikipedia) oficiálně představila (YouTube) poštovního klienta Notion Mail. Aktuálně funguje pouze nad Gmailem.

    Ladislav Hagara | Komentářů: 3
    21.4. 12:44 | Nová verze

    Byla vydána nová verze 9.12 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    20.4. 03:55 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    19.4. 19:44 | Komunita

    Ubuntu 25.10 bude (𝕏) Questing Quokka (pátrající klokan quokka).

    Ladislav Hagara | Komentářů: 0
    19.4. 11:55 | Zajímavý software

    Ubisoft uvolnil zdrojové kódy softwaru Chroma pro simulaci barvosleposti pro vývojáře počítačových her. K dispozici jsou na GitHubu pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (10%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (2%)
    Celkem 420 hlasů
     Komentářů: 18, poslední 17.4. 12:41
    Rozcestník

    Dotaz: c++ cyklická závislost mezi třídami

    6.5.2010 11:13 midnighter
    c++ cyklická závislost mezi třídami
    Přečteno: 804×
    Mám následující problém:
    (kod je zjednodušený)

    main.cc:

    #include "csvReader.h" int main()
    {
    csvReader r;
    r.read();
    }


    csvReader.h:
    #include "configCsvReader.h"
    class csvReader
    {
    public:
    csvReaderConfig read();
    }


    configCsvReader.h:
    #include "csvReader.h" class configItem
    {
    public:
    virtual execute();
    }
    class csvReader: public configItem
    {
    public:
    csvReaderConfig read();
    }
    Jde to tu cyklickou závislost mezi třídami. Pokud sem použil další .h soubor a dal do něj jenom prázdné deklarace tříd tak mi překladač píše nekompletní typ. A když použiju ukazatele tak zase nemůžu použít konstruktor třídy csvReader v třídě configCsvReader Vubec netuším jak se z toho hnout. Nemá někdo nějaký nápad? Díky za odpovědi

    Řešení dotazu:


    Odpovědi

    6.5.2010 11:18 midnighter
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami
    samozřejmě sem zapoměl dodat že ve všech hlavičkových souborech používám header guards
    6.5.2010 12:47 Sinuhet | skóre: 31
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami
    Nevidim definici tridy csvReaderConfig.
    6.5.2010 13:01 midnighter
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami
    moje chyba, koukám že se mi to tu trochu popletlo. třída je samozřejmě definovaná takto
    class csvReaderConfig: public configItem
    {
    public:
    execute();
    }

    6.5.2010 13:09 Sinuhet | skóre: 31
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami
    OK, ale ted pro zmenu nevidim tu cyklickou zavislost, csvReader se v configCsvReader.h vubec nevyskytuje.
    6.5.2010 13:16 midnighter
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami

    tak snad na potřetí už nezapomenu napsat všechno potřebne:

    //csvReaderConfig.h

    #include "csvReader.h"

    class csvReaderConfig: public configItem

    {

    private: csvReader reader;

    public: execute();

    }

    6.5.2010 13:13 lokki
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami
    Heslo "forward declaration": Tu alebo tu.
    6.5.2010 13:15 lokki
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami
    6.5.2010 13:28 midnighter
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami
    Ano tuto možnost sem již zminoval. Takže bez použití ukazatelů cyklická závislost vyřešit nejde?
    6.5.2010 15:51 Jirka P
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami
    6.5.2010 13:41 midnighter
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami

    ještě bych měl tedy jeden dotaz. jak deklarovat dědičnost třídy?

    když mám zadeklarováno

    class configItem;

    a potřebuju zadeklarovat

    class configCsvReader:public configItem;

    překladač vyhodí chybu. a když zadám do deklarace jen

    class configCsvReader;

    překladač zase křičí při definici třídy, kdy už používám

    class configCsvReader:public configItem
    {
    ...
    }
    6.5.2010 15:55 Jirka P
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami
    Když bude configItem definován, tak by to mělo fungovat.
    6.5.2010 16:36 midnighter
    Rozbalit Rozbalit vše Re: c++ cyklická závislost mezi třídami

    Vyřešeno. Nakonec stačilo opět udělat protypy zpětně pro csvReader v config.h a pro configCsvReader v csvReader.h

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.