Visualizzazione dei risultati da 1 a 7 su 7

Discussione: classi c++

  1. #1

    classi c++

    ragazzi, non riesco a capacitarmi di una cosa... sto cercando di capire come funzionino le classi nel c++, quindi ho iniziato a fare dei semplicissimi programmini per cercare di capirne la sintassi... ora vi chiedo.. perchè, una volta creato il file .h e implementato nel main, questo mi chiede di mettere ; prima del "using namespace std;"??? cioè, se non include il file .h non risulta esserci alcun errore, se lo faccio mi segnala che manca un ; prima del using namespace std... Grazie in anticipo!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Come hai scritto la classe nel .h ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3

    ....

    eeemmmhh... siccome mi ero esasperato ho direttamente cancellato tutto!XD cmq ci stà che dev C++ dia problemi per quanto riguarda l'utilizzo di classi importate da altri file? sennò non me lo spiego...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se non spieghi il problema mostrando il codice non si può fare nulla.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    questo è il codice dei vari file:

    mate.h

    codice:
    class mate{
     	public:
     		void somma(int n,int m); 
    };
    mate.cpp

    codice:
    #include <iostream> 
    #include "mate.h" 
    using namespace std; 
    void mate::somma(int n,int m){
     	cout<<"Somma= "<<n+m<<endl; 
    }
    main.cpp

    codice:
    #include <iostream>
     #include "mate.h" 
     using namespace std;
      int main(){ 	
    mate m; 	
    m.somma(2,3); 	
    return 0; 
    }
    il tutto è stato scritto in un ambiente Ubuntu e compilato con il compilatore g++, ma ogni volta mi mostra il seguente errore:
    main.o: In function `main':
    /home/lorenzo/C++/main.cpp:8: undefined reference to `mate::somma(int, int)'
    collect2: error: ld returned 1 exit status

    Perchè?!?!?!?!

  6. #6
    Oltre a main.cpp devi mettere sulla linea di comando di g++ anche mate.cpp.
    Amaro C++, il gusto pieno dell'undefined behavior.

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