Intro :
Le langage C++ est le langage le plus utilisé dans le monde du développement de jeu-vidéo.
Ce petit tutoriel à pour but de vous faire réviser certaines notions de C++.
Prérequis :
– Avoir quelques notions de C++
Explications :
Le C++ est un langage orienté objet. C’est-à-dire que l’on manipule des objets en déclarant des classes au sein du code.
Qu’est-ce qu’une déclaration de fonction / classe ?
Une déclaration indique l’identificateur d’une variable et sa nature (c’est-à-dire respectivement son nom et sa nature).
Qu’est-ce qu’une définition de fonction / classe ?
Une définition implémente la structure d’une fonction ou d’une classe afin de pouvoir l’utiliser.
Commentaires :
/* Ceci est un commentaire sur plusieurs lignes */ // Ceci est un commentaire en une seule ligne
Qu’est-ce qu’une classe ?
Une classe permet de regrouper dans une même entité des données et des fonctions membres (appelées aussi méthodes) permettant de manipuler ces données.
Créer un objet à partir d’une classe :
Les opérateurs new et delete permettent de créer un objet en allouant sa quantité de mémoire.
A chaque new doit correspondre un delete, sinon il risque d’avoir une fuite de mémoire (memory leak) !
L’opérateur delete appelle le constructeur à détruire de la classe.
Qu’est-ce qu’un objet ?
Un objet est l’instance d’une certaine classe.
L’héritage :
En C++, les classes peuvent hériter d’autres classes et la relation d’héritage est exprimée à l’aide de l’opérateur de dérivation « : ».
class Chat : public Animal
{
public:
private:
};
L’encapsulation :
class Sprite2D
{
public:
Sprite2D();
virtual ~Sprite2D();
protected:
private:
int m_iVariable;
};
– les déclarations en dessous de « public: » seront accessibles depuis n’importe quelle fonction.
– en dessous de « protected: » : pareil que private mais accessible depuis les classes
filles.
– en dessous de « private: » : accessible que depuis les fonctions de la classes.
L’opérateur sizeof :
Sert à calculer la taille de n’importe quel type de données.
On note que sizeof(char) = 1.
sizeof(x) = 1 ssi x est un byte. (Un byte est la plus petite unité adressable d’un ordinateur)
Opérateurs d’entrées-sorties :
On peut écrire dans la console avec l’instruction suivante :
#include <iostream> std::cout << "Une phrase." << std:endl;
On peut écrire du code UTF-8 aussi :
#include <iostream> std::wcout << "Une phrase en français." << std:endl;
Les pointeurs :
Un pointeur désigne une adresse d’une variable d’un certain type.
int* pEntier; // Déclare un pointeur de type int int iEntier; &iEntier // permet d'obtenir l'adresse de iEntier pEntier = &iEntier; // Affectation du pointeur
Le références :
Une référence peut être vue comme un alias d’une variable. C’est un « synonyme » d’une autre variable. Une modification de l’une modifiera l’autre.
int i = 3; int& i; // Un référence à la variable i
Valeur par défaut des paramètres d’une fonction :
// Déclaration d'une fonction à paramètres par défaut void print(long valeur, int base = 10);
Fonctions inline :
Les fonction inline fonctionnent comme les macros.
Surcharge de fonctions :
Tas et Pile :
Tas :
Pile :
Instanciation d’une classe :
Avion avion; // Sur la pile Avion* pAvion = new Avion(); // Sur le tas
Fonctions membres statiques :
– existent même s’il n’y a aucune instance de classe.
– ne peuvent accéder qu’aux membres statiques de la classe.
Exceptions :
Moyen de gérer les erreurs dans un programme C++.
Throw : // Le mot-clé pour lever une exception.
/* Bloc try d'une gestion d'exception */
try
{
// instructions pouvant déclencher des exceptions
// dérivant de std::exception
}
catch ( const std::exception & e )
{
std::cerr << e.what();
}

