k_mishima
27-11-2008, 21:46
salve, sono uno studente alle prime armi con c++, mi dareste una mano a debuggare questo codice? Non riesco a capire l'errore
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class giocatori{
private:
string nome;
int partite;
int punti;
double media;
double calcola_media();
public:
giocatori(); //costruttore di default
giocatori(string, int, int); //costruttore 3 argomenti
~giocatori(); //distruttore
void print(); //stampa dati
void update(int); //aggiorna numero partite e punti
};
giocatori:: giocatori (string Nome, int Partite, int Punti){
nome=Nome;
partite=Partite;
punti=Punti;
media = calcola_media();
}
double giocatori:: calcola_media(){
return media=punti/partite;
}
void giocatori:: update(int risultato){
partite++;
punti += risultato;
media= calcola_media();
}
void giocatori:: print(){
cout << "Giocatore= " << nome << endl << "Partite= "<< partite << endl;
cout << "Punti= " << punti << endl << "Media= " << media << endl;
}
giocatori:: ~ giocatori(){
cout<< "distruggo" << endl;
}
int main()
{
giocatori A;
giocatori B=giocatori("Ciro",5,3);
giocatori C("Gennaro",8,3);
C.print();
B.print();
B.update(2);
B.print();
system("pause");
return 0;
}
Il compilatore è visual studio 2008
gli errori
1>giocatori.obj : error LNK2019: unresolved external symbol "public: __thiscall giocatori::giocatori(void)" (??0giocatori@@QAE@XZ) referenced in function _main
1>C:\Users\Salvatore\Documents\Visual Studio 2008\Projects\giocatori\Debug\giocatori.exe : fatal error LNK1120: 1 unresolved externals
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class giocatori{
private:
string nome;
int partite;
int punti;
double media;
double calcola_media();
public:
giocatori(); //costruttore di default
giocatori(string, int, int); //costruttore 3 argomenti
~giocatori(); //distruttore
void print(); //stampa dati
void update(int); //aggiorna numero partite e punti
};
giocatori:: giocatori (string Nome, int Partite, int Punti){
nome=Nome;
partite=Partite;
punti=Punti;
media = calcola_media();
}
double giocatori:: calcola_media(){
return media=punti/partite;
}
void giocatori:: update(int risultato){
partite++;
punti += risultato;
media= calcola_media();
}
void giocatori:: print(){
cout << "Giocatore= " << nome << endl << "Partite= "<< partite << endl;
cout << "Punti= " << punti << endl << "Media= " << media << endl;
}
giocatori:: ~ giocatori(){
cout<< "distruggo" << endl;
}
int main()
{
giocatori A;
giocatori B=giocatori("Ciro",5,3);
giocatori C("Gennaro",8,3);
C.print();
B.print();
B.update(2);
B.print();
system("pause");
return 0;
}
Il compilatore è visual studio 2008
gli errori
1>giocatori.obj : error LNK2019: unresolved external symbol "public: __thiscall giocatori::giocatori(void)" (??0giocatori@@QAE@XZ) referenced in function _main
1>C:\Users\Salvatore\Documents\Visual Studio 2008\Projects\giocatori\Debug\giocatori.exe : fatal error LNK1120: 1 unresolved externals