Documentation Pour EO: Programmation par Template

InconvénientsLe Template est un mécanisme important que l’on pourrait retrouver dans plusieurs langages de programmation. Donc, C++ n’est pas un cas exceptionnel. On verra dans la suite ses intérêts et ses inconvénients, les problèmes rencontrés et les solutions proposées pour répondre la question: “Pourquoi EO applique dans presque tous ces codes ce mécanisme?”

Il s’agit d’une méthode de faire des fonctions (classes) travaillant sur de nombreux types de variables.

Intérêts

Les avantages de Template réside dans la généralité. C’est à dire, quand le type du paramètre fournit dans le Template, quel que soit les types de variables on a besoin de coder qu’un Template.

Inconvénients

La compilation est plus longue au point de vue du temps.

Quand utiliser des templates ?

Pour définir des containers. Mais c’est quoi des containers? Très imaginé! Comme des grands containers qu’on voit sur les routes nationales. Ce sont des composants qui contiennent d’ une collection d’objets (comme une liste, un vecteur, un graphe…).

Comment code-je un template?

Voici par la suite un exemple de template “classe”, une des méthodes de coding utilisé dans EO:

// class templates
#include <iostream>
using namespace std;

template <class T>
class mycontainer {
    T a, b;
  public:
    mycontainer(){};
    ~mycontainer(){};
    mycontainer (T first, T second)
      {a=first; b=second;};
    T getmax ();    

};

template <class T>
T mycontainer<T>::getmax ()
{
  T retval;
  retval = a>b? a : b;
  return retval;
}

int main () {
  mycontainer <int> myobject (100, 75);
  cout << myobject.getmax()<<endl;
  return 0;
}
Résultat: 100


Comment EO a appliqué "Template"?

Prenons un exemple dans EO.h qui a pour but de définir un type de donnée de base dans EO "fitness":
En comparant EO.h et les code au dessus, on peut trouver facilement le rôle de la classe "EO" et "mycontainer" est le même. Donc le reste a été codé de même manière. Pour voir comment utiliser ce template 'EO', allez voir le fichier 't-eo.cpp' qui pourrait être trouvé dans le répertoire '$eo\test' de la source code d'EO.

J'espère ce petit tuto pourrait vous aider.
Bon vent et A++!
Tutu

Catégories : EO Library | EO Programming Guide












2 thoughts on “Documentation Pour EO: Programmation par Template

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s