Includere classi

di il
23 risposte

23 Risposte - Pagina 2

  • Re: Includere classi

    Il main è sempre in un file a parte
  • Re: Includere classi

    
        int main()
        {
           Persona p;
           p.inserisci_nome();
           p.inserisci_giorno();
    
           return 0;
        }
    // persona.cpp
        #include "Persona.h"
    
        #include <iostream>
    
        using namespace std;
    
        Persona::Persona()
        {
        }
    
        Persona::~Persona()
        {
        }
    
        void Persona::inserisci_nome()
        {
           cout <<"Inserire persona: ";
           cin >> nome;
           cout << endl;
        }
    
        void Persona::inserisci_giorno()
        {
           g.inserire_giorno();
        }
    
        int main()
        {
        }
     // data.cpp
        #include "data.h"
    
        #include <iostream>
    
        using namespace std;
    
        void data::inserisci_giorno()
        {
           cout<< "Inserire giorno: ";
           cin >> giorno;
        }
    
    int main(){}
    
     // persona.h
        #include "data.h"
    
        class Persona
        {
           char nome[20];
           data g;
    
        public:
           Persona();
           ~Persona();
           void inserisci_nome();
           void inserisci_giorno();
        };
    
    
    
    
        #include "Persona.h"
    
    
        #include <iostream>
    
        using namespace std;
        int main()
        {
           Persona p;
           p.inserisci_nome();
           p.inserisci_giorno();
    
           return 0;
        };
    
    tutti i file che utilizzo: data.h/data.cpp/Persona.h/Persona.cpp/file main.cpp
    questo è il codice che utilizzo con codeblock ma l'errore di mancato riferimento c'è ancora dove sbaglio ???
  • Re: Includere classi

    Ma data.h qual è? Non l'hai mostrato ...

    Il primo file è il main??

    E perché c'è la funzione

    main

    in tutti i file ??

    Scusami sai ... ma sei sicuro di avere copiato quello che ti ho proposto??
  • Re: Includere classi

    // data.h
       #include <iostream>
    
        using namespace std;
        class data
        {
           int giorno;
    
        public:
           data() {};
           ~data() {};
           void inserisci_giorno();
        };
    
    scusami ho dimenticato di allegarlo nel post precedente .
    il corpo main(){} devo inserirlo (anche vuoto nei file data.cpp o Persona.cpp ) perchè codeblock non mi permette di compilare correttamente i suddetti file se manca.
    L'esempio del codice del post da terminale funziona. Non capisco cosa non fuziona con codeblock?
  • Re: Includere classi

    Credo di aver risolto in questo modo :
    nei vari file.h (xxxx--->nome file) metto la dicitura che segue:
    #ifndef xxxx_H
    #define xxxx_H
    #endif


    nei file tipo.cpp metto:
    il corrispettivo #include "xxxx.h"


    nel main inserisco:
    #include "xxxx.h"
    #include "xxxx.cpp"
    di tutti i necessari file
  • Re: Includere classi

    Il main deve essere uno solo. Anche per codeblocks.

    Secondo me tu NON hai creato un progetto in codeblocks.
  • Re: Includere classi

    Ciao Oregon ,
    Ti confermo che sono tutti file singoli non inclusi in un progetto . Per farli funzionare ho fatto come citato prima.
    Poi ho provato anche creando un progetto console ed il tuo programma funziona correttamente senza inludere i file.cpp.
    Grazie ancora.
  • Re: Includere classi

    DEVI creare un progetto console. Aggiungere tutti i file cpp e h e scrivere in un file cpp UN SOLO main.

    Si fa così ... davo per scontato che tu lo avessi fatto.
  • Re: Includere classi

    Si ho provato funziona tutto correttamente !!! Thanks
Devi accedere o registrarti per scrivere nel forum
23 risposte