Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C++] Include di classi

    Salve a tutti,
    ho iniziato da poco a programmare in C++.
    Non riesco a risolvere il seguente problema:
    ho creato la classe AbstractImageFeeder e nel file ".h" ed includo il file #include "FeederObserver.h" visto utilizzo FeederObserver all'interno della classe.

    All'interno di FeederObserver però ho bisogno di un riferimento ad AbstractImageFeeder. Se però utilizzo include "AstractImageFeeder.h" mi dice che non ho dichiarato AbstractImageFeeder. come posso risolvere la cosa?

    ecco le due classi:

    ----------------------------------------------------------------
    "AbstractImageFeeder.h"
    #ifndef ABSTRACTIMAGEFEEDER_H_INCLUDED
    #define ABSTRACTIMAGEFEEDER_H_INCLUDED
    #include <list>
    #include "FeederObserver.h"

    using namespace std;

    class AbstractImageFeeder{
    private:
    list<FeederObserver*> observers;
    protected:
    AbstractImageFeeder();
    public:
    virtual ~AbstractImageFeeder();
    virtual void Attach(FeederObserver* obs);
    virtual void Detach(FeederObserver* obs);
    virtual void Notify();
    };
    #endif
    -----------------------------------------------------------------------
    "FeederObserver.h"
    #ifndef FEEDEROBSERVER_H_INCLUDED
    #define FEEDEROBSERVER_H_INCLUDED
    #include "AbstractImageFeeder.h"

    class FeederObserver{
    protected:
    FeederObserver();
    public:
    virtual ~FeederObserver();
    virtual void Update(AbstractImageFeeder* subject) = 0;
    };

    #endif

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Devi usare una forward declaration.
    codice:
    #ifndef ABSTRACTIMAGEFEEDER_H_INCLUDED
    #define ABSTRACTIMAGEFEEDER_H_INCLUDED
    #include <list>
    
    using namespace std;
    class FeederObserver;
    class AbstractImageFeeder { // eccetera
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    grazie mille ^_^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.