Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Shea
    Registrato dal
    Jul 2000
    Messaggi
    157

    [C++] Problemino con le classi

    Sto facendo un piccolo esercizio in C++ e non riesco venirne a capo, il compilatore mi dice:

    Unresolved:
    classe::classe(void)
    classe::show(void)




    questo è il file esercizio.cpp
    codice:
    #include <iostream.h>
    #include "classe.h"
    
    int main() {
    
    	classe obj;
    	obj.show();
    int k;
    cin >> k;
    
    }
    classe.cpp
    codice:
    #include "classe.h"
    #include <iostream.h>
    
    
    classe::classe(){
        a=1;
        b=3;
    };
    
    void classe::show(){
        cout << a << b << endl;
    };
    classe.h
    codice:
    #ifndef classeH
    #define classeH
    #include <iostream.h>
    
    class classe{
    	 public:
    		int a;		//Variabile
    		int b;
    		classe();    //Costruttore
    		void show();    //Funzione mostra valore
    	};
    #endif

  2. #2
    ho provato il tuo codice con devc++ e con bcc32 e funziona perfettamente

    cmq se posso darti un piccolo consiglio non dichiarare le variabili di una classe di tipo public ma dichiarale private o protected
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  3. #3
    Utente di HTML.it L'avatar di Shea
    Registrato dal
    Jul 2000
    Messaggi
    157
    Supponevo che quel compilatore fosse piuttosto rompi...

  4. #4
    ma che compilatore rompi...

    non puoi "compilare" direttamente l'esercizio cosi..
    g++ esercizio.cpp

    e' invece un bravo "compilatore"
    come fa a sapere dove ha in memoria i due metodi in questione se non li ha mai visti.. al massimo sa che ci sono.. quindi fagli fare solo la vera compilazione e l'assemblamento senza il linkaggio e richiama il linker in un secondo momento

    prova invece a compilare in questo modo:
    g++ -c classe.cpp -o classe.o
    g++ -c esercizio.cpp -o esercizio.o
    g++ -o esercizio.exe esercizio.o classe.o


    se non hai voglia di scrivere tutte le singole compilazioni perche' inizi ad avere molti files guardati i Makefile o fammi un fischio che te li spiego.. sono easy.. e poi ti bastera' digitare make

    ho provato il tuo codice con devc++ e con bcc32 e funziona perfettamente
    per forza.. devc++ e bcc32 non fanno questo errore ma non vi fanno neanche capire come funziona la storia..
    non e' colpa vostra..
    ...il tutto e' in perfetta filosofia Microsoft
    Pinguino a Catwoman:
    Non so cosa vuoi, ma sono certo di potertelo dare ..denaro? ..gioielli? ..un enorme gomitolo di lana..?

  5. #5
    non conosco il g++ però non capisco xchè vuoi creare solo il file obj e in seguito chiamare il linker

    è troppo scomodo fare tutto in un unico colpo??

    del resto bcc32 crea anche i vari file obj ,se proprio ci tieni ,oltre che l'exe

    xchè complicarsi la vita??? ma del resto non è colpa tua se vuoi complicarti la vita.....sei in perfetta filosofia linux...
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  6. #6
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    per compilare più files devi passrli tutti al compilatore:

    bcc32 esercizio.cpp classe.cpp

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  7. #7
    ...il tutto e' in perfetta filosofia Microsoft


    xchè complicarsi la vita??? ma del resto non è colpa tua se vuoi complicarti la vita.....sei in perfetta filosofia linux...
    Casomai sei tu che compili ad occhi chiusi!!!
    Powered by Fedora & CentOS
    Here I am, brain the size of a planet..

  8. #8
    Originariamente inviato da kruskaiev

    Casomai sei tu che compili ad occhi chiusi!!!
    :master:
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

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.