Bonjour,
je débute en C++ et je tente de compiler ma première classe sans y arriver, car je n'arrive pas à comprendre le message d'erreur de dev c++.
header.h
#include <cstdlib>
#include <iostream>
#include <string>
#include <iostream>
using namespace std;
Sportif.h
#include "header.h"
/****************************************************************
Interface de la classe sportif
******************************************************************/
class Sportif {
private:
int age;
string nom;
string prenom;
int formePhysique;
public:
Sportif();
Sportif(int age, string nom, string prenom, int formePhysique);
Sportif(const Sportif & sport);
~Sportif();
int getAge();
string getNom();
string getPrenom();
int getFormePhysique();
void setAge(int age);
void setNom(string nom);
void setPrenom(string prenom);
void setFormePhysique(int forme);
void toString(void);
};
/****************************************************************
Implémentation de la classe sportif
******************************************************************/
// Constructeur par défaut
Sportif::Sportif (void) {
this->age = 0;
this->nom = "";
this->prenom = "";
this->formePhysique = 100;
}
// Constructeur
Sportif::Sportif (int age, string nom, string prenom, int formePhysique) {
this->age = age;
this->nom = nom;
this->prenom = prenom;
this->formePhysique = formePhysique;
}
// Constructeur de recopie
Sportif::Sportif (const Sportif & sport) {
this->age = sport.age;
this->nom = sport.nom;
this->prenom = sport.prenom;
this->formePhysique = sport.formePhysique;
}
// Destructeur
Sportif::~Sportif(void){
}
// Accesseurs
int Sportif::getAge(){
return this->age;
}
string Sportif::getNom(){
return this->nom;
}
string Sportif::getPrenom(){
return this->prenom;
}
int Sportif::getFormePhysique(){
return this->formePhysique;
}
// Mutateurs
void Sportif::setAge(int age){
this->age = age;
}
void Sportif::setNom(string nom){
this->nom = nom;
}
void Sportif::setPrenom(string prenom){
this->prenom = prenom;
}
void Sportif::setFormePhysique(int forme){
this->formePhysique = forme;
}
// Méthode
void Sportif::toString(){
cout << "Nom : " << nom << " prenom : " << prenom << " age : " << age << " forme physique : " << formePhysique;
}
main.cpp
#include "header.h"
#include "Sportif.h"
int main(int argc, char *argv[])
{
Sportif sport = new Sportif(18,"John","john",25);
sport.toString();
system("PAUSE");
return EXIT_SUCCESS;
}
Voilà, il n'y a pas grand chose, mais apparemment j'ai déjà commis une erreur ! Voici ce que me dit le compilateur :
In function `int main(int, char**)':
main.cpp conversion from `Sportif*' to non-scalar type `Sportif' requested
Makefile.win [Build Error] [main.o] Error 1
Si vous pouviez m'aider assez rapidement se serait vraiment gentil de votre part, car je dois résoudre ce problème pour après demain au plus tard. Merci beaucoup pour vos réponses,
Bonne soirée, et bonne prog 