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

    [RISOLTO][c++] funzioni in header file o file .cpp

    Ciao a tutti... stò creando un gioco in formato console abbastanza elaborato, e per rendere il tutto più ordinato mi chiedevo se si poteva dichiarare le funzioni ijn un header file o un file .cpp
    ....io ho provato una cosa del genere

    main.cpp
    codice:
    #include <iostrem>
    #include <conio.h>
    #include "funzioni.h"
    using namespace std;
    
    int main()
    {
         hello();
        _getch();
    return 0;
    }
    funzioni.h
    codice:
    void hello(void);
    
    void hello(void)
    {
         cout << "Hello World";
    }
    ma non funziona...soluzioni???

    Ho letto nel manuale su html.it che bisogna mettere da qualche parte un extern....ma non capisco dove :P

    Grazie ^^

    P.S se interessa uso vc++ express 2010

  2. #2
    Scusatemi se faccio double post ma ho risolto il problema cercando di interpretare il messaggio del debugger di vc++ 2010, e sono giunto a questa conclusione

    main.cpp

    codice:
    #include <iostream>
    #include <conio.h>
    #include "funzioni.h"
    using namespace std;
    
    int main()
    {
         hello();
        _getch();
    return 0;
    }
    funzioni.h
    codice:
    #include <iostream>
    using namespace std;
    void hello(void);
    
    void hello(void)
    {
         cout << "Hello World";
    }
    P.S hoi tenbtato di cancellare la discussione ma mi dice che non ho i permessi :P...sew volete cancellate pure

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    225
    main.cpp
    codice:
    #include <iostream>
    #include <conio.h>
    #include "funzioni.h"
    
    void hello(void)
    {
         cout << "Hello World" << endl;
    }
    
    int main()
    {
    
         hello();
        _getch();
    
        return 0;
    
    }
    funzioni.h
    codice:
    #include <iostream>
    using namespace std;
    void hello(void);
    anche se in questo caso non hai bisogno del file funzioni.h

  4. #4
    sisi lo so...ma era solo un programmino per cercare di farlo funzionare XD

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    ma nel file .h non devi mettere l'implementazione della funzione, ma metterlo in un .cpp a parte e poi linkarlo al programma principale
    è leggermente più elaborato di quel che pensi
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    allora

    allora devi fare così: aggiungere al progetto:

    funzioni.cpp
    funzioni.h

    in main.cpp
    codice:
    #include <iostream>
    #include <conio.h>
    #include "funzioni.h"
    
    int main()
    {
    
         hello();
        _getch();
    
        return 0;
    
    }
    funzioni.cpp

    codice:
    //void hello(void); in teoria non va messo ma non mi ricodo bene se lo devi mettere anche qui
    
    void hello(void)
    {
         cout << "Hello World" << endl;
    }
    funzioni.h

    codice:
    #inlcude <iostream>
    
    using namespace std;
    
    void hello(void);

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    post scriptum

    codice:
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!
    FANTASITCA!!!!!!!!!

  8. #8
    Ah ecco XD spiegato anche l'arcano dei file cpp che non sia il main.cpp

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    487

    hahaha

    purtroppo di arcani ne troverai...e ne troverò tanti altri...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.