<p class="spip">Cette soirée sera consacrée à un atelier présenté par <strong class="spip">JeanB</strong> sur la « <strong class="spip">Programmation objet en C++</strong> »</p>

<p class="spip"><strong class="spip">Niveau</strong> : Avancé</p>

<p class="spip"><strong class="spip">Pré-requis</strong> :
<br /></p>
<li> un éditeur de texte (pas de préférence) ;
<br /><li> un compilateur C++ en état de marche (pour vérifier, taper g++ dans la console). Si vous n’obtenez pas le message d’erreur « g++ : pas de fichier à l’entrée », il faut l’installer. Notez que dans certaine distribution, on peut trouver un fichier g++ dans /usr/bin même s’il n’est pas réellement installé, donc which g++ ne prouve rien ;)
<p class="spip">Pour information, voici les personnes intéressées par cet atelier :
<br /></p>
<li> GnunuX, YogI, PhilippE, Laurent, JeanC, HuGin
<p class="spip">On peut ajouter au pré-requis une connaissance minimale du C ou d’un langage voisin.</p>

<p class="spip">Je joins le premier exemple qui sera abordé pour donner une idée (c’est promis, j’explique tout).</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>/*****************************************************************<br />
*            objet.cc<br />
*<br />
*  Sat Mar  5 16:37:14 2005<br />
*  Copyright  2005  Jean Bréfort<br />
*  jean dot brefort at normalesup dot org<br />
******************************************************************/<br />
<br />
/*<br />
*  This program is free software; you can redistribute it and/or modify<br />
*  it under the terms of the GNU General Public License as published by<br />
*  the Free Software Foundation; either version 2 of the License, or<br />
*  (at your option) any later version.<br />
*<br />
*  This program is distributed in the hope that it will be useful,<br />
*  but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br />
*  GNU Library General Public License for more details.<br />
*<br />
*  You should have received a copy of the GNU General Public License<br />
*  along with this program; if not, write to the Free Software<br />
*  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.<br />
*/<br />
<br />
#include <string><br />
#include <iostream><br />
<br />
using namespace std;<br />
<br />
class ClassA {<br />
public:<br />
        ClassA (string s);<br />
        virtual ~ClassA ();<br />
<br />
        void dump ();<br />
<br />
private:<br />
        string str;<br />
};<br />
<br />
ClassA::ClassA (string s)<br />
{<br />
        cerr << "Constructeur de ClassA" << endl;<br />
        str = s;<br />
}<br />
<br />
ClassA::~ClassA ()<br />
{<br />
        cerr << "Destructeur de ClassA" << endl;<br />
}<br />
<br />
void ClassA::dump ()<br />
{<br />
        cout << str << endl;<br />
}<br />
<br />
ClassA a("Bonjour ;-)");<br />
<br />
int main (int argc, char *argv[])<br />
{<br />
        a.dump ();<br />
        return 0;<br />
}</code></div>
<p class="spip">Si vous voulez déjà essayer, pour le compiler, la commande est :</p>

<p class="spip"><code class='spip_code' dir='ltr'>g++ -o bonjour object.cc</code></p>

<p class="spip">Puis pour l’exécuter :</p>

<p class="spip"><code class='spip_code' dir='ltr'>./bonjour</code></p>

<blockquote class="spip">
<p class="spip">Cette réunion est consacrée en priorité à cet atelier qui débutera à 20H30. Si vous souhaitez y assister, vous êtes le bienvenu. Mais si vous souhaitez simplement nous rencontrer, il est recommandé de venir le premier mardi de chaque mois où nous organisons une soirée porte ouvertes et où nous serons plus disponibles pour vous accueillir.</p>
</blockquote>