125 lines
2.9 KiB
C++
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
|