Premier programme C++


Hello World en C++

Exemple de programme qui affiche le message "Hello World" et explique la syntaxe utilisée.

Lorsque l’on débute dans un nouveau langage informatique, il est de coutume de commencer par un petit programme qui se contente d’afficher sur la console, le message "Hollo World". Voyons ce que pourrait être ce petit programme en C++.


 Présentation

Cet article montre un exemple du fameux programme Hello World en C++. Nous partirons du principe que vous disposez déjà d’un compilateur C++ sur votre ordinateur ainsi que d’un éditeur de texte.

La configuration utilisée pour cet exemple est un poste sous Linux Ubuntu 14.04 avec le compilateur g++ en version 4.8. Ce dernier est disponible depuis le gestionnaire de paquets si il n’est pas déjà installé.

J’ai utilisé vi comme éditeur de texte pour saisir le code. Bien sûr, vous pourrez utiliser un éditeur graphique comme NotePad++ sous Windows ou KWrite sous KDE etc... La compilation s’effectuera également en ligne de commande.

Remarque : Vous trouverez sur ce site et sur Internet d’autres informations concernant la configuration d’un poste de développement C++ sur les différents OS.

 Saisie du programme

Pour saisir le programme, le plus simple est de créer un répertoire dédié au projet et de se positionner dedans.

Nous allons créer un fichier texte que nous nommerons hw.cpp. Si vous utilisez vi, tapez la commande suivante :

Tapez le code suivant dans l’éditeur :

  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.         std::cout << "Hello World!" << std::endl;
  6.         return 0;
  7. }

Télécharger

 Génération de l’exécutable

Une fois fichier sauvegardé, il suffit de taper la commande suivante :

Vous devriez avoir un nouveau fichier de créé correspondant à votre exécutable et nommé a.out. Il suffit de l’exécuter avec la commande suivante :

Pour spécifier un nom particulier à l’exécutable hw par exemple, il suffit de modifier la commande de génération de programme comme suit :

Nous pouvons maintenant l’exécuter avec la commande suivante :

 Explications sur le code

Un programme C++ (comme en C) doit disposer d’une fonction appelée main() qui sera exécutée en premier lors du lancement du programme. Cette fonction doit retourner un entier qui sera soit zéro si le programme c’est déroulé normalement, soit une autre valeur pour indiquer qu’une erreur c’est produite.

La première ligne contient une directive pour le préprocesseur #include pour inclure un fichier d’entête qui va nous permettre d’utiliser des fonctions d’entrées/sorties, indispensable pour utiliser la commande cout qui permet d’envoyer un message sur la sortie standard, c’est à dire l’écran par défaut. A la suite de cout on trouve l’opérateur << qui permet d’envoyer sur la sortie standard ce qui suit c’est à dire la chaîne "Hello World !". On retrouve encore l’opérateur << pour envoyer la commande endl qui produit un retour à la ligne.

Les espaces de noms

Le C++ a ajouté au langage C la notion d’espace de noms. Cela permet de définir des fonctions et variables ayant des noms identiques sans conflit. Il suffit qu’elles soient définies dans des espace de noms différents. Il se trouve que toutes les fonctions des librairies standard du C++ sont définies dans un espace de nom nommé std. C’est le cas de cout et de endl et c’est pour cela qu’il faut les préfixer de std: : qui indique l’espace de nom.

Pour éviter d’avoir à saisir ce préfixe devant chaque fonction de la librairie standard que nous utiliserons, nous pouvons ajouter en début de programme la ligne suivante :

using namespace std;

Ce qui donne le code suivant :

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.         cout << "Hello World!" << endl;
  8.         return 0;
  9. }

Télécharger

 Fonction main avec passage de paramètres

Une variante de fonction main() est la suivante :

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main( int argc, char* argv[]  )
  6. {
  7.         cout << "Hello World!" << endl;
  8.         return 0;
  9. }

Télécharger

Les deux arguments passés à la fonction main() ont le même rôle et même définition qu’en langage C. Le premier est un entier qui indique le nombre d’arguments passés sur la ligne de commande et le second est un pointeur sur un tableau de chaînes de caractères contenant ces arguments. Si votre programme n’utilise pas d’arguments en ligne de commande vous n’êtes pas obligé de spécifier ces deux variables mais il est bon de connaître cette syntaxe car beaucoup d’IDE   génèrent automatiquement la fonction main avec ces arguments.

 Conclusion

Cet article nous a permis de réaliser un premier programme en C++ tout en testant que nous disposions bien d’un compilateur opérationnel. Même si par la suite vous utiliserez sans doute un IDE   pour construire vos programmes, le fait d’utiliser un simple éditeur de code nous a obligé à taper tous le code et à le comprendre.

La plupart des IDE génèrent un squelette de programme qui devrait correspondant à une des deux versions proposées ici mais quelques fois avec des variantes. Par exemple, si vous utilisez sous Windows, Visual Studio de Microsoft pour rédiger un programme C++ en mode console, sachez que ce dernier ne génère pas un squelette complètement standard et le programme risque de ne pas être portable et compilable sur d’autres systèmes. Privilégiez donc des IDE multi-plateformes pour éviter ce type de problèmes comme Code::Block, Eclipse ou Netbeans entre autre. Par contre, sous Mac, vous ne devriez pas avoir de problèmes avec l’IDE XCode fournit par Apple qui génère un code standard.

Article n° 112

Crée par: chris

Créé le: 15 mai 2018

Modifié le: 29 juin 2018

Nombre de visites: 2047

Popularité: 11 %

Popularité absolue: 1

Introduction

Mots clés de cet article


SPIP

2003-2024 LePpf
Plan du site | | RSS 2.0 | Sur YouTube

Visiteurs connectés : 4

Nombre moyen de visites quotidiennes sur le site: 224