PDA

Visualizza la versione completa : [C++] Codice che non viene compilato (Dev-C++ si blocca)


c_junior
19-07-2007, 16:10
qui sotto presente un codice che non riesco a compilare, il compilatore(dev-cpp) si blocca, mentre provo altri codici va tutto bene

il progetto composto da 3 file:
il file contentente main 3.9.cpp

__________________________________
//3.9.cpp
//inclusione della Classe GradeBook del file GradeBook.h per l'utilizzo in main
#include<iostream>
using std::cout;
using std::endl;

#include "GradeBook.h"//inclusione della definizione della classe GradeBook

//la funzione main inizia l'esecuzione del programma
int main()
{
//crea due oggetti GradeBook
GradeBook gradeBook1("CS101 Introduction to C++ Programming");
GradeBook gradeBook2("Cs102 Data Structures in C++");

//visualizza il nome iniziale del corso per ogni oggetto GradeBook
cout<<"gradeBook1 created for course: "<<gradeBook1.getCourseName()
<<"\ngradeBook2 created for course: "<<gradeBook2.getCourseName()<<endl;
system("Pause");
return 0;//denota una corretta terminazione
}//fine main
________________________________
//GradeBook.h
//Definizione della classe GradeBook. Questo file presenta l'interfaccia
//pubblica della classe GradeBook senza rivelare l'implementazione
//delle funzioni membro che sono definite nel file GradeBook.cpp.
#include<string>//la classe GradeBook utilizza la classe standard string
using std::string;

//definizione della classe GradeBook
class GradeBook
{
public:
GradeBook(string name);//costruttore che inizializza courseName
void setCourseName(string name);//funzione per impostare il nome del corso
string getCourseName();//funzione per leggere il nome del corso
void displayMessage();//funzione che visualizza una messaggio di benvenuto
private:
string courseName;//nome del corso per questo gradeBook
};//fine della classe GradeBook
______________________________
//GradeBook.cpp
//Definizione della lasse GradeBook in un file separato dal main.
#include<iostream>
using std::cout;
using std::endl;

#include "GradeBook.h"

//il costruttore inizializza courseName con la stringa Passata come argomento
GradeBook::GradeBook(string name)
{
setCourseName(name);//chiamata alla funzione set per inizializzare courseName
}//fine del costruttore GradeBook

//funzione per impostare il nome del corso
void GradeBook::setCourseName(string name)
{
courseName=name;//memorizza il nome del corso nell'oggetto
}//fine della funzione setCourseName

//funzione per leggere il nome del corso
string GradeBook::getCourseName()
{
return courseName;//restituisce il dato membro courseName dell'oggetto
}//fine della funzione getCourseName

//vissualizza un messaggio di benvenuto all'utente della classe Gradebook
void GradeBook::displayMessage()
{
//richiama getCourseName per leggere il nome del corso
cout<<" Welcome to the grade book for\n"<<getCourseName()<<"!"<<endl;
}//fine della funzione display message

__________________________________

oregon
19-07-2007, 16:13
Che vuol dire "si blocca"? Avrai dei messaggi d'errore ... dicceli ...

P.S. Ho compilato il codice e funziona regolarmente ...

c_junior
19-07-2007, 16:38
adesso si compilato per mi da qusti errori
[Linker error] undefined reference to `GradeBook::GradeBook(std::string)'
[Linker error] undefined reference to `GradeBook::GradeBook(std::string)'
[Linker error] undefined reference to `GradeBook::getCourseName()'
[Linker error] undefined reference to `GradeBook::getCourseName()'
ld returned 1 exit status

oregon
19-07-2007, 16:41
DevCpp 4.9.9.0

Pero' non credo sia il compilatore ... forse e' il tuo sistema ... controllerei con un antivirus ...

oregon
19-07-2007, 16:41
Ma come hai creato il progetto e aggiunto i file?

c_junior
19-07-2007, 16:43
no, ho creato tre file separati poi gli ho messi nella stessa cartella

cmq non penso sia un errore di sistema, xk ho provato su + computer ma sempre la stessa storia

oregon
19-07-2007, 17:00
Devi creare un progetto C++ di tipo console e aggiungere i tre file al progetto.

Poi devi compilare il progetto.

c_junior
19-07-2007, 17:08
si,ho capito

scusa se ti ho fatto perdere tempo ma un po che non uso c++ e ho dimenticato qualcosina....grazie mille

Loading