/**
classes ayant une sémantique de valeur du premier ordre, c'est-à-dire :
* Avoir une valeur par défaut
* Etre copiable
Cela implique de fournir :
* Un constructeur par defaut
* Un destructeur
* Un constructeur de copie
* Une surcharge de l'operateur d'affectation (=)
A partir de cette semantique, les classes vérifiant la FCC sont utilisables
sans effets indésirables dans les cas suivants :
* Creation d'une instance de la classe
* Utilisation de la classe comme valeur de retour de fonction
* Creation d'un tableau d'instances de la classe
**/
/**************************/
// Fichier .h
/*************************/
/**************************/
#ifndef CLASSTOTO
#define CLASSTOTO
/**************************/
// Declaration de la classe
MaClassePassePartout{
public:
// Constructeur par défaut
MaClassePassePartout();
// Destructeur
~MaClassePassePartout();
// Constructeur de copie
MaClassePassePartout(MaClassePassePartout const &classeSource);
// Operateur d'affectation
MaClassePassePartout& operator=(MaClassePassePartout const &classeSource);
};
#endif
/*****************/
// Fichier .cp
/*****************/
#include <iostream> // entrees/sorties standard
#include "fcc.hpp" // inclusion de la definition de MaClassePassePartout
usingnamespace std;
// Constructeur par défaut
MaClassePassePartout::MaClassePassePartout(){
}
// Destructeur
MaClassePassePartout::~MaClassePassePartout(){
}
// Constructeur de copie
MaClassePassePartout::MaClassePassePartout( MaClassePassePartout const& src){
}
// Operateur d'affectation
MaClassePassePartout &MaClassePassePartout::operator=(MaClassePassePartout const &src){
// Attention a ne pas copier inutilement une instance
if( this != &src) {
}
// Renvoi de l'instance recopiee
return *this;
}