Back to Lesson 5 - Tutorial main page - Top-Down page - Bottom-up page - Programming hints - EO documentation

# Templates/eoOneMax.h

The places where you have to put some code are on pink background.. Only the the character colors have the usual meaning.

`/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-` `The above line is usefulin Emacs-like editors` `*/` `/*` `Template for creating a new representation in EO` `================================================` `*/` `#ifndef _eoOneMax_h` `#define _eoOneMax_h` `/**` `* Always write a comment in this format before class definition` `* if you want the class to be documented by Doxygen` `* Note that you MUST derive your structure from EO<fitT>` `* but you MAY use some other already prepared class in the hierarchy` `* like eoVector for instance, if you handle a vector of something....` `* If you create a structure from scratch,` `* the only thing you need to provide are` `* a default constructor` `* IO routines printOn and readFrom` `*` `* Note that operator<< and operator>> are defined at EO level` `* using these routines` `*/`

`template< class FitT>` `class eoOneMax: public EO<FitT> {` `public:` `/** Ctor: you MUST provide a default ctor.` `* though such individuals will generally be processed` `* by some eoInit object` `*/` `eoOneMax()` `{`

`// START Code of default Ctor of an eoOneMax object` `// END Code of default Ctor of an eoOneMax object`

`}` `virtual ~eoOneMax()` `{`

`// START Code of Destructor of an eoEASEAGenome object` `// END Code of Destructor of an eoEASEAGenome object`

`}` `virtual string className() const { return "eoOneMax"; }`

`/** printing... */` `void printOn(ostream& os) const` `{` `// First write the fitness` `EO<FitT>::printOn(os);` `os << ' ';`

`// START Code of default output` `/** HINTS` `* in EO we systematically write the sizes of things before the things` `* so readFrom is easier to code (see below)` `*/` `// END Code of default output`

`}` `/** reading...` `* of course, your readFrom must be able to read what printOn writes!!!` `*/` `void readFrom(istream& is)` `{` `// of course you should read the fitness first!` `EO<FitT>::readFrom(is);`

`// START Code of input` `/** HINTS` `* remember the eoOneMax object will come from the default ctor` `* this is why having the sizes written out is useful` `*/` `// END Code of input`

`}`

`private: // put all data here`

`// START Private data of an eoOneMax object` `// END Private data of an eoOneMax object`

`};` `#endif`

Back to Lesson 5 - Tutorial main page - Top-Down page - Bottom-up page - Programming hints - EO documentation

Last modified: Fri May 3 06:06:09 2002