#ifndef __ABSTRACT_DATA_OUTPUT__ #define __ABSTRACT_DATA_OUTPUT__ namespace XMLIOSERVER { class CFile; class AbstractDataOutput { public : const CFile* getRelFile(void) const { return (file); } virtual void createFileAndHeader(void) { // Création du fichier de sortie. this->initFile(); // Définition des dimensions. this->setDims(); // Définition des coordonnées. this->setCoords(); // Définitions des variables. this->setVars(); } virtual ~AbstractDataOutput() { /* Ne rien faire de plus */ } protected : AbstractDataOutput(CFile* const _file): file(_file) { /* Ne rien faire de plus */ } virtual void initFile (void) = 0; virtual void setDims (void) = 0; virtual void setCoords(void) = 0; virtual void setVars (void) = 0; private : CFile* const file; }; //class AbstractDataOutput }// namespace XMLIOSERVER #endif //__ABSTRACT_DATA_OUTPUT__