Bonjour. Je suis débutant en c++ et j’ai essayé de mettre en place le MVC dans un petit programme, mais j’ai des erreurs que je n’arrive pas à corriger. J’utilise Code::Blocks pour le code et j’ai créé plusieurs classes et des fichiers d’entêtes séparés. Ici, j’ai mis tout le code ensemble pour faire simple, comme vous pouvez le voir. J’ai vraiment besoin de votre aide pour faire fonctionner le programme. Merci.
//Headers
//Header class 1
#ifndef MODEL_PERSONNE_H
#define MODEL_PERSONNE_H
#include <string>
class Model_Personne
{
public:
Model_Personne(std::string prenom, std::string nom, std::string profession, int age);
virtual ~Model_Personne();
//Setters
void setPrenom(std::string unPrenom);
void setNom(std::string unNom);
void setProfession(std::string uneProfession);
void setAge(int unAge);
//Getters
std::string getPrenom();
std::string getNom();
std::string getProfession();
int getAge();
protected:
private:
std::string prenom;
std::string nom;
std::string profession;
int age;
};
#endif // MODEL_PERSONNE_H
//Header class 2
#ifndef VIEW_PERSONNE_H
#define VIEW_PERSONNE_H
#include <string>
class View_Personne
{
public:
View_Personne();
virtual ~View_Personne();
void afficherPersonne(std::string prenom, std::string nom, std::string profession, int age);
protected:
private:
};
#endif // VIEW_PERSONNE_H
//Header class 3
#ifndef CONTROLLER_PERSONNE_H
#define CONTROLLER_PERSONNE_H
#include "Model_Personne.h"
#include "View_Personne.h"
#include <string>
class Controller_Personne
{
public:
Controller_Personne(Model_Personne unePersonne, View_Personne uneVuePersonne);
virtual ~Controller_Personne();
Model_Personne personne;
View_Personne vue;
//Setters
void setPrenom(std::string unPrenom);
void setNom(std::string unNom);
void setProfession(std::string uneProfession);
void setAge(int unAge);
//Getters
std::string getPrenom();
std::string getNom();
std::string getProfession();
int getAge();
void getAffichage();
protected:
private:
};
#endif // CONTROLLER_PERSONNE_H
//Class - fichiers ".cpp"
//Class 1
#include "Model_Personne.h"
#include <string>
Model_Personne::Model_Personne(std::string unPrenom, std::string unNom, std::string uneProfession, int unAge )
{
//ctor
prenom=unPrenom;
nom=unNom;
profession=uneProfession;
age=unAge;
}
Model_Personne::~Model_Personne()
{
//dtor
}
//Setters
void Model_Personne::setPrenom(std::string unPrenom){
this->prenom=unPrenom;
}
void Model_Personne::setNom(std::string unNom){
this->nom=unNom;
}
void Model_Personne::setProfession(std::string uneProfession){
this->profession=uneProfession;
}
void Model_Personne::setAge(int unAge){
this->age=unAge;
}
//Getters
std::string Model_Personne::getPrenom(){
return this->prenom;
}
std::string Model_Personne::getNom(){
return this->nom;
}
std::string Model_Personne::getProfession(){
return this->profession;
}
int Model_Personne::getAge(){
return this->age;
}
//Class 2
#include "View_Personne.h"
#include <string>
View_Personne::View_Personne()
{
}
View_Personne::~View_Personne()
{
//dtor
}
void View_Personne::afficherPersonne(std::string unPrenom, std::string unNom, std::string uneProfession, std::string unAge){
std::cout<<"Prénom: "<<unPrenom<<std::endl;
std::cout<<"Nom: "<<unNom<<std::endl;
std::cout<<"Profession: "<<uneProfession<<std::endl;
std::cout<<"Âge: "<<unAge<<std::endl;
}
//Class 3
#include "Controller_Personne.h"
#include "Model_Personne.h"
#include "View_Personne.h"
#include <string>
Controller_Personne::Controller_Personne(Model_Personne unePersonne, View_Personne uneVuePersonne)
{
personne = unePersonne;
vue = uneVuePersonne;
}
Controller_Personne::~Controller_Personne()
{
//dtor
}
//Setters
void Controller_Personne::setPrenom(std::string unPrenom){
personne.setPrenom(unPrenom);
}
void Controller_Personne::setNom(std::string unNom){
personne.setNom(unNom);
}
void Controller_Personne::setProfession(std::string uneProfession){
personne.setProfession(uneProfession);
}
void Controller_Personne::setAge(int unAge){
personne.setAge(unAge);
}
//Getters
std::string Controller_Personne::getPrenom(){
return personne.getPrenom();
}
std::string Controller_Personne::getNom(){
return personne.getNom();
}
std::string Controller_Personne::getProfession(){
return personne.getProfession();
}
int Controller_Personne::getAge(){
return personne.getAge();
}
void Controller_Personne::getAffichage(){
vue.afficherPersonne(personne.getPrenom(), personne.getNom(), personne.getProfession(), personne.getAge());
}
//Main
#include "Model_Personne.h"
#include "View_Personne.h"
#include "Controller_Personne.h"
#include <string>
int main(){
Model_Personne unePersonne("Jacques", "Baeur", "Artiste-Informaticien", 36);
View_Personne uneVuePersonne();
Controller_Personne unControlleurPersonne(unePersonne, uneVuePersonne);
unControlleurPersonne.getAffichage();
}
+0
-0