Herezh_dev/References/Reference.cc

125 lines
2.9 KiB
C++

// FICHIER : Reference.cp
// CLASSE : Reference
#include "Reference.h"
#ifndef REFERENCE_H_deja_inclus
// --------------- variables statiques ---------
// déclaré dans Reference_static.cp
//MotCle Reference::motCle; // liste des mots clés // finalement déclaré ici !
#ifndef MISE_AU_POINT
inline
#endif
Reference::Reference (string nom):
// Constructeur par defaut (appel au constructeur par defaut de Tableau<T>)
nom_ref(nom),nbmaille(0),indic(0)
{ };
#ifndef MISE_AU_POINT
inline
#endif
// Constructeur fonction du nb de maillage et du type de ref
Reference::Reference (int nb , int ind) :
nbmaille(nb),indic(ind),nom_ref("aucun nom")
{ };
#ifndef MISE_AU_POINT
inline
#endif
Reference::Reference (string nom,int nb , int ind) :
// Constructeur utile si le nom de la reference est connu
nom_ref(nom),nbmaille(nb),indic(ind)
{ };
#ifndef MISE_AU_POINT
inline
#endif
Reference::Reference (const Reference& ref):
// Constructeur de copie
nom_ref(ref.nom_ref),nbmaille(ref.nbmaille),indic(ref.indic)
{ };
#ifndef MISE_AU_POINT
inline
#endif
Reference::~Reference ()
// Destructeur
{ };
// METHODES :
// Surcharge de l'operateur = : realise l'egalite entre deux references
#ifndef MISE_AU_POINT
inline
#endif
Reference& Reference::operator= (const Reference& ref)
{ indic = ref.indic;
nbmaille = ref.nbmaille;
nom_ref = ref.nom_ref;
return (*this);
};
// Retourne le nom associe a la reference
#ifndef MISE_AU_POINT
inline
#endif
string Reference::Nom () const
{ return nom_ref; };
// Retourne le type de reference
#ifndef MISE_AU_POINT
inline
#endif
int Reference::Indic () const
{ return indic; };
// Retourne le numero du maillage auquelle la reference se rattache
#ifndef MISE_AU_POINT
inline
#endif
int Reference::Nbmaille() const
{ return nbmaille; };
// Remplace l'ancien nom de la reference par nouveau_nom
#ifndef MISE_AU_POINT
inline
#endif
void Reference::Change_nom (string nouveau_nom)
{ nom_ref = nouveau_nom; };
// Affiche les donnees liees a la reference
#ifndef MISE_AU_POINT
inline
#endif
void Reference::Affiche () const
{ cout << "\nNom de la reference : " << nom_ref
<< " , maillage nb =" << nbmaille << ", de type = " << indic << '\n';
};
// methodes appellées par les classes dérivées
// cas donne le niveau de la récupération
// = 1 : on récupère tout
// = 2 : on récupère uniquement les données variables (supposées comme telles)
#ifndef MISE_AU_POINT
inline
#endif
void Reference::Lect_int_base_info(ifstream& ent)
{ string toto;
ent >> nom_ref >> nbmaille ; };
// cas donne le niveau de sauvegarde
// = 1 : on sauvegarde tout
// = 2 : on sauvegarde uniquement les données variables (supposées comme telles)
#ifndef MISE_AU_POINT
inline
#endif
void Reference::Ecrit_int_base_info(ofstream& sort)
{ sort << nom_ref <<" " << nbmaille << " "; };
#endif