Tip |
---|
Cette page est un guide sur le démarrage d’un nouveau projet. Cette section couvrira plusieurs concepts et connaissances de base en programmation. Je vous invite à reproduire les exemples de votre coté même s’ils sont simples et de les modifier pour apprendre en observant le comportement de votre programme.
View the english version of this page. N’hésitez pas à nous écrire au info.crc@sciencetech.ca pour nous faire part de vos commentaires et suggestions sur le contenu. |
Mon premier projet
Je vous invite à écouter la capsule qui suit pour apprendre à créer votre premier projet et écrire votre premier programme!
Insérer la vidéo
Qu’est-ce que le #include?
Le #include vous permet d’ajouter des fichiers sources dans votre propre fichier. Et la certain d’entre vous ce dise «Oui, mais encore….». Le but est en fait de diviser votre code et de le rendre plus facile à maintenir et réutiliser. Lorsque vous mettez un #include au début de votre fichier, au moment de la compilation, le compilateur ajoutera le fichier inclus dans votre fichier.
Dans le code qui suit, j’ai modifié le code du projet fait précédemment pour le divisé en 2 fichiers et vous montrer un exemple simple du fonctionnement d’un #include. On peut voir que dans l’exemple suivant, la fonction main() du fichier HelloWorld appel la fonction helloWorld() du fichier Message. Le fichier Message est inclus au début du fichier HelloWorld et sera donc ajouté sous cette ligne au moment de la compilation.
HelloWorld.cpp
Code Block | ||
---|---|---|
| ||
#include "Message.cpp" using namespace std; int main(){ helloWorld(); return 0; } |
Message.cpp
Code Block | ||
---|---|---|
| ||
#include <iostream> using namespace std; void helloWorld(){ cout << "Hello world!"; } |
Fichier lors de la compilation
Note |
---|
À noter que je n’ai pas inséré le code du #include <iostream>, parce que cette librairie est simplement trop grosse et nuirais à l’exemple. |
Code Block |
---|
#include <iostream> using namespace std; void helloWorld(){ cout << "Hello world!"; } using namespace std; int main(){ helloWorld(); return 0; } |
Les namespace
Les namespaces sont utilisés afin de permettre au utilisateur d’avoir des noms de variables, des noms de fonctions, ect avec les mêmes noms. Lorsque vous écrivez using namespace std vous enlevez l’obligation de spécifier de quelle namespace vient la variable ou la fonction que vous utilisez.
Dans l’exemple suivant nous créerons 2 namespaces que nous utiliserons par la suite dans notre main.
main.cpp
Code Block |
---|
#include "namespaceA.cpp" #include "namespaceB.cpp" using namespace A; int main (){ helloWorld(); B::helloWorld(); return 0; } |
namespaceA.cpp
Code Block | ||
---|---|---|
| ||
#include <iostream> namespace A { void helloWorld() { std::cout << "Hello world!"; } } |
namespaceB.cpp
Code Block | ||
---|---|---|
| ||
#include <iostream> namespace B { void helloWorld() { std::cout << "Hello World!"; } } |
Sortie de la console:
Code Block |
---|
Hello world!Hello World! |
Vous pouvez voir dans l’exemple précédent que l’on déclare le namespace A comme le namespace utilisé dans main.cpp. Par la suite, lorsque nous appelons la fonction helloWorld(), le programme prend la fonction dans le namespace A. Au momment d’appeler helloWorld() du namespace B nous devons rajouter B:: pour dire au programme le namespace à utiliser. On peut observer le même comportement pour la librairie standard pour utiliser la fonction cout
La librairie standard
Le C/C++ utilise la librairie standard d’où le nom std. La librairie standard est un regroupement de fonctions générales et très utiles. Dans les faits, lorsque vous incluez iostream, vous incluez une partie de la librairie standard! Si vous voulez découvrir les multiples fonctions de la librairie standard je vous invite à appuyer ici et jeter un coup d’œil.
Qu’est-ce qu’une fonction?
La fonction en quelque sorte un «sous-programme», une «sous-routine». On l’utilise principalement pour éviter la répétition du code et rendre plus facile la lisibilité ainsi que la maintenance d’un programme. Plusieurs trucs peuvent aider lorsque vient le temps de créer une fonction.
Faire une fonction qui effectue une tâche.
Lui donner un nom représentatif et clair
Minimiser le nombre d’argument
Voici en exemple l’appel d'une fonction qui multiplie 2 entier (int) et qui retourne la valeur d’un produit entier (int).
Type de la valeur de retour
Nom de la fonction
Type du premier argument
Nom du premier argument
Type du deuxième argument
Nom du deuxième argument
L’usage des commentaires
Bien que les commentaires soient une bonne façon de documenter notre code, il faut éviter d’en abuser. Il ne devrait jamais être nécessaire de commenter le code ligne par ligne. Souvent cette pratique est dûe à un manque de clarté dans les noms de variables et de fonctions ou des fonctions trop longue qui font plusieurs actions à la fois.
Voici quelques utilisations pertinentes des commentaires:
Les informations sur un fichier en entête en-tête
Les informations sur une fonction
Laisser une note de façon temporaire et enlever une fois que la correction est effectuée
Articles liés
Filter by label (Content by label) | ||||||
---|---|---|---|---|---|---|
|