Comment faire un classe

zmandar -  
loupius Messages postés 789 Statut Membre -
Bonjour,
svp je veux diviser ce code en deux :enlever struct personne et faire un classe personne et faire de constricteur et de destructeur et l 'utiliser dans le main

// personne1.cpp : définit le point d'entrée pour l'application console. 
// 

#include "stdafx.h" 

#include <fstream> 
#include <string> 
#include <iostream> 
using namespace std; 

struct personne { 
 int age; 
 string  sexe; 
 string nom; 
 string prenom; 
 void affiche(); 
  
}; 

void personne::affiche() { 
 cout << nom << " " << prenom << endl; 
 cout << " *  " << age << " age" << endl; 
 cout << " *  " << sexe << endl; 
} 


int main () { 
  FILE* test; // Ce nom ne doit pas être le même que celui du flux fstream 
    /* creation d' un fichier */ 
 int age; 
 string sexe; 
 string nom; 
 string prenom; 
 personne persA; 

cout << "entrer le prenom "<< endl; 
cin >>prenom; 
cout << "entrer le nom  "<< endl; 
cin>>nom ; 
cout << "entrer l 'age  "<< endl; 
cin >>age; 
cout << "entrer le sexe   "<< endl; 
cin>>sexe; 

persA.prenom=prenom; 
 persA.sexe=sexe; 
 persA.age=age; 
 persA.nom=nom; 

 ofstream fichier("C:\\test.text", ios::out | ios::app);  
    // ouverture en écriture avec effacement du fichier ouvert 

if(fichier) 
    { 
        fichier << persA.prenom;  
   fichier << " "<<persA.sexe ; 
    fichier <<" "<< persA.age ; 
     fichier <<" "<< persA.nom << endl; 
        cout << "ca a marché" << endl; // vérifier un coup dans la console. 
        fichier.close(); 
    } 

    else 
 {  cerr << "Impossible d'ouvrir le fichier !" << endl; 
    return 0; 

} 




  persA.affiche(); 

 return 0; 
} 

1 réponse

  1. loupius Messages postés 789 Statut Membre 148
     
    Il n'y a pas grand chose à changer, par exemple:
      ...
    struct personne {
      personne(int a, string s, string n, string p)
        : age(a), sexe(s), nom(n), prenom(p) {} 
      int    age;
      string sexe;
      string nom;
      string prenom;
      void affiche();
     };
    
      ...
    
    int main()
    {
      personne persA(22, "f", "Abefijopuv", "Marie");
      ofstream fichier("C:\\test.text", ios::out | ios::app);
      ...
    }
    Je ne suis pas sûr que 'ofstream' efface le fichier ouvert.
    Bonne continuation.
    0
    1. zmandar
       
      bonjour
      fichier.h je le fait comme ca est ce que ce juste svp ???

      #ifndef PERSONNE_H
      #define  PERSONNE_H
      # include <iostream>
      using namespace std ;
      classe personne {
      public :
      	personne(int a, string s, string n, string p);
      	 : age(a), sexe(s), nom(n), prenom(p) {} 
      
      	 int get_age();
      	 	 string get_nom();
      		 string get_prenom();
      		 string get_sexe();
      		void set_age(int age );
      		  void set_nom(string nom);
      void set_sexe(string sexe);
       void set_prenom(string prenom);
      
      private :
      int a;
      string n;
      string s;
      string p;
      };
      
      
      0
    2. loupius Messages postés 789 Statut Membre 148
       
      Et bien ça me paraît pas mal, mis à part:
        private:
          int age;
          string nom;
          string sexe;
          string prenom;
      Bonne après-midi.
      0
    3. zmandar
       
      comment implémenter le constructeur dans le fichier.cpp ??
      personne(int a, string s, string n, string p)
      0
    4. loupius Messages postés 789 Statut Membre 148
       
      Comme une autre méthode de la classe:
      personne::personne(int a, string s, string n, string p);
      	 : age(a), sexe(s), nom(n), prenom(p)
      {
        ...
      }
      0
    5. zmandar
       
      moi je veux implémenter l 'opérateur algébrique différence entre deux relation (sql) en utilisant le c++
      svp est ce que vous pouvez me donné une idée
      je utilise un classe relation
      et classe attribut(nom att,type att,longeur att )
      et aussi en utilisant le fichier
      svp si vous avez une idéé aide moi
      0