Différences entre versions de « C++ »
(17 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 11 : | Ligne 11 : | ||
<!-- ****************** Commercez les modifications ************************--> | <!-- ****************** Commercez les modifications ************************--> | ||
− | + | {{@}} en Français : [[ C++ ]] <br> | |
− | + | {{@}} en Anglais : [[ C++ ]] <br> | |
− | + | {{@}} en Arabe : [[ne possède pas de traduction]] | |
+ | |||
}}<!-- ************** Fin Fiche Didactique Traduction ********************* --> | }}<!-- ************** Fin Fiche Didactique Traduction ********************* --> | ||
Ligne 26 : | Ligne 27 : | ||
<!--****************** Commercez les modifications: Fiche-Disciplines-Thématiques *********************--> | <!--****************** Commercez les modifications: Fiche-Disciplines-Thématiques *********************--> | ||
− | |Domaine-Discipline-Thématique-1= | + | |
+ | |Domaine-Discipline-Thématique-1= programmation | ||
|Domaine-Discipline-Thématique-2= Informatique | |Domaine-Discipline-Thématique-2= Informatique | ||
|Domaine-Discipline-Thématique-3= Algorithmique | |Domaine-Discipline-Thématique-3= Algorithmique | ||
Ligne 38 : | Ligne 40 : | ||
== {{Widget:Definition-ecrite-Fiche}} == | == {{Widget:Definition-ecrite-Fiche}} == | ||
− | |||
− | |||
<!-- ******** Début Fiche Didactique Definition ********************--> | <!-- ******** Début Fiche Didactique Definition ********************--> | ||
{{Fiche Didactique Definition <!--------------------------------------> | {{Fiche Didactique Definition <!--------------------------------------> | ||
Ligne 46 : | Ligne 46 : | ||
|Définition= <!-- Ne pas Modifier --> | |Définition= <!-- Ne pas Modifier --> | ||
<!-- *************** Commercez les modifications *******************--> | <!-- *************** Commercez les modifications *******************--> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
*Le langage C++ est régulé par la norme ISO afin de le standardiser. La dernière version C++ 20 est sorti en 2020 (ISO/IEC 14882:2020) | *Le langage C++ est régulé par la norme ISO afin de le standardiser. La dernière version C++ 20 est sorti en 2020 (ISO/IEC 14882:2020) | ||
Ligne 114 : | Ligne 83 : | ||
Borland C++ Builder | Borland C++ Builder | ||
Microsoft Visual C++ | Microsoft Visual C++ | ||
+ | <!-- ******** Fin Définition Générale ***************************** --> | ||
+ | <!-- ************* Début Définition Approfondissement ************* --> | ||
+ | <!-- Approfondissement des définitions à travers des classifications, des catégorisations, des typologies, ou autre.... --> | ||
+ | |Typologie= <!------------------------------------ Ne pas Modifier --> | ||
+ | <!-- ****************** Commercez les modifications ****************--> | ||
+ | |||
+ | <span style="color:#000080;"> <big><FONT size="2">'''* Date de première version:'''</FONT></big></span> 1985 | ||
+ | |||
+ | <span style="color:#000080;"><big> <FONT size="2">'''* Paradigme: '''</FONT></big></span> générique, orienté objet, procédural | ||
+ | |||
+ | <span style="color:#000080;"><big> <FONT size="2">'''* Auteur: '''</FONT></big></span> Bjarne Stroustrup | ||
+ | |||
+ | <span style="color:#000080;"><big> <FONT size="2">'''* Dernière version: '''</FONT></big></span> C++20 (décembre 2020) | ||
+ | |||
+ | <span style="color:#000080;"><big> <FONT size="2">'''* Typage: '''</FONT></big></span> statique, unsafe, nominatif | ||
+ | |||
+ | <span style="color:#000080;"><big> <FONT size="2">'''* Normes: '''</FONT></big></span> | ||
+ | ISO/CEI 14882:1998 | ||
+ | ISO/CEI 14882:2003 | ||
+ | ISO/CEI 14882:2011 | ||
+ | ISO/CEI 14882:2014 | ||
+ | ISO/CEI 14882:2017 | ||
+ | ISO/IEC 14882:2020 | ||
+ | <span style="color:#000080;"><big> <FONT size="2">'''* Influencé par: '''</FONT></big></span> C, Simula, Ada 83, Algol 68, CLU, ML | ||
+ | |||
+ | <span style="color:#000080;"><big> <FONT size="2">'''* A influencé: ''' </FONT> </big></span> Ada 95, C#, PHP, D, JavaScript, Java, X++, Rust | ||
+ | |||
+ | <span style="color:#000080;"><big> <FONT size="2">'''*Implémentations: '''</FONT> </big></span> GNU Compiler Collection, Microsoft Visual C++, Borland C++ Builder, XCode Tools | ||
+ | |||
+ | <span style="color:#000080;"><big> <FONT size="2">'''*Site web: '''</FONT></big></span> isocpp.org [archive] | ||
+ | |||
+ | <span style="color:#000080;"><big> <FONT size="2">'''*Extension de fichier: ''' </FONT> </big></span> cc, cpp, cxx, c, c++, h, hpp, hh, hxx et h++ | ||
<!-- ************************* Fin ***************************************** --> | <!-- ************************* Fin ***************************************** --> | ||
}}<!-- ******** Fin Fiche Didactique Définition ******************* --> | }}<!-- ******** Fin Fiche Didactique Définition ******************* --> | ||
Ligne 119 : | Ligne 120 : | ||
== {{Widget:Definition-graphique-Fiche}} == | == {{Widget:Definition-graphique-Fiche}} == | ||
{{cc}} [https://cmapscloud.ihmc.us/viewer/cmap/1XSR9Z0NV-1FHVYJ0-NJXWTX Carte conceptuelle : C++] | {{cc}} [https://cmapscloud.ihmc.us/viewer/cmap/1XSR9Z0NV-1FHVYJ0-NJXWTX Carte conceptuelle : C++] | ||
+ | {{cc}} [https://didactique.info/formation/course/view.php?id=425#section-1 didactique.info : C++] | ||
<!-- ************************* Début ****************************** --> | <!-- ************************* Début ****************************** --> | ||
{{Fiche Didactique Media <!-------------------------------------------> | {{Fiche Didactique Media <!-------------------------------------------> | ||
Ligne 160 : | Ligne 162 : | ||
<!----------------- Commencez les modifications des Mots Clés ---------------------> | <!----------------- Commencez les modifications des Mots Clés ---------------------> | ||
− | |Mot-Clé-1= | + | |Mot-Clé-1= Langage de programmation |
− | |Mot-Clé-2= | + | |Mot-Clé-2= Programmation interprété |
− | |Mot-Clé-3= | + | |Mot-Clé-3= Multi-paradigme |
− | |Mot-Clé-4= | + | |Mot-Clé-4= Multi-plateformes |
− | |Mot-Clé-5=Programmation | + | |Mot-Clé-5= Programmation impérative |
− | |Mot-Clé-6= | + | |Mot-Clé-6= Programmation impérative structurée |
− | |Mot-Clé-7= | + | |Mot-Clé-7= Programmation déclarative |
− | |Mot-Clé-8= Programmation | + | |Mot-Clé-8= Programmation fonctionnelle |
− | |Mot-Clé-9= | + | |Mot-Clé-9= Langages à classes |
− | |Mot-Clé-10= | + | |Mot-Clé-10= |
− | |||
− | |||
− | |||
− | |||
}}<!-- ********************* FIN Fiche Didactique Mots-clés *******************--> | }}<!-- ********************* FIN Fiche Didactique Mots-clés *******************--> | ||
Ligne 186 : | Ligne 184 : | ||
− | <span style="color:magenta"><big><U> <p><FONT size="5">'''Domaines d'application '''</p></FONT></U></big></span> | + | <span style="color:magenta"><big><U> <p><FONT size="5">'''Domaines d'application '''</p></FONT></U></big></span> |
<span style="color:#000090;"><big><U> <p><FONT size="4">'''C++ : Gaming '''</p></FONT></U></big></span> | <span style="color:#000090;"><big><U> <p><FONT size="4">'''C++ : Gaming '''</p></FONT></U></big></span> | ||
Ligne 300 : | Ligne 298 : | ||
<!-- ****************** Commercez les modifications *************************--> | <!-- ****************** Commercez les modifications *************************--> | ||
+ | * confusion entre [[C et C++]] | ||
* Confusion entre [[Objet et Classe]] | * Confusion entre [[Objet et Classe]] | ||
− | |||
* Confusion entre [[Polymorphisme et Héritage]] | * Confusion entre [[Polymorphisme et Héritage]] | ||
}}<!-- ************** Fin Fiche Didactique Conceptions ********************* --> | }}<!-- ************** Fin Fiche Didactique Conceptions ********************* --> |
Version actuelle datée du 7 juin 2022 à 17:40
Votre Publicité sur le Réseau |
Traduction
Traductions
Définition
Domaine, Discipline, Thématique
Justification
Définition écrite
- Le langage C++ est régulé par la norme ISO afin de le standardiser. La dernière version C++ 20 est sorti en 2020 (ISO/IEC 14882:2020)
- Le C++ est un langage de programmation aux nombreux paradigmes : orienté objet, procédural ou générique.
- Le C++, au même titre que le C, est un langage de bas niveau. C’est-à-dire qu’il est plus proche du fonctionnement de la machine. Le principal cas d’utilisation du C++ est aujourd’hui le suivant :
Besoin de développer une application où la performance est primordiale Voici l’explication sur l’origine de son nom : C vient du langage de programmation C datant de 1970. Le suffixe “++” correspond à l’opérateur permettant d’incrémenter une valeur en C. Cela signifie donc que C++ se positionne comme une version améliorée et plus performante que le langage C.
- Le C++ est un langage de programmation permettant la programmation sous de multiples paradigmes comme la programmation procédurale, la programmation orientée objet et la programmation générique.
- C++ est actuellement le 3e langage le plus utilisé au monde.
- Le langage C++ n'appartient à personne et par conséquent n'importe qui peut l'utiliser sans besoin d'une autorisation ou obligation de payer pour avoir le droit d'utilisation.
- Le langage C++ est un langage de programmation très utilisé pour développer des applications graphiques. Ce langage est très populaire parce qu'il possède une grande variété de systèmes d'exploitation compatibles.
- Le langage C++ utilise les concepts de la programmation orientée objet et permet entre autres :
la création de classes ; l'encapsulation ; des relations entre les classes : la composition de classes (composition dans un diagramme de classes), l'association de classes (en) (association dans un diagramme de classes), l'agrégation de classes (agrégation dans un diagramme de classes), la dépendance (dépendance dans un diagramme de classes), l'héritage simple et multiple (héritage dans un diagramme de classes) ; le polymorphisme ; l'abstraction ; la généricité ; la méta-programmation.
- Les principaux EDI permettant le développement d'applications en langage C++ sont :
Borland C++
Borland C++ Builder
Microsoft Visual C++
* Date de première version: 1985 * Paradigme: générique, orienté objet, procédural * Auteur: Bjarne Stroustrup * Dernière version: C++20 (décembre 2020) * Typage: statique, unsafe, nominatif * Normes: ISO/CEI 14882:1998 ISO/CEI 14882:2003 ISO/CEI 14882:2011 ISO/CEI 14882:2014 ISO/CEI 14882:2017 ISO/IEC 14882:2020 * Influencé par: C, Simula, Ada 83, Algol 68, CLU, ML * A influencé: Ada 95, C#, PHP, D, JavaScript, Java, X++, Rust *Implémentations: GNU Compiler Collection, Microsoft Visual C++, Borland C++ Builder, XCode Tools *Site web: isocpp.org [archive] *Extension de fichier: cc, cpp, cxx, c, c++, h, hpp, hh, hxx et h++ |
C++ - Historique (+)
Définition graphique
Carte conceptuelle : C++
didactique.info : C++
Concepts ou notions associés
C++ - Glossaire / (+)
Exemples, applications, utilisations
Domaines d'application C++ : Gaming
C++ : Systèmes embarqués
C++ : Enseignement et recherche
Par exemple: - la sécurité des types - la gestion des ressources - les invariants peuvent être enseignés avec C++.
Environnement et installation
Mise en place de l’environnement local
Éditeur de texte : Avant de commencer à programmer avec C++, il faut avoir un éditeur de texte installé pour écrire des programmes.
Compilateur C++ :
Mots-clés du langage asm : Pour déclarer qu’un bloc de code doit être passé à l’assembleur. auto : un spécificateur de classe de stockage utilisé pour définir des objets dans un bloc. break : termine une instruction switch ou une boucle. case : Utilisé spécifiquement dans une instruction switch pour spécifier une correspondance pour l’expression de l’instruction. catch : spécifie les actions entreprises lorsqu’une exception se produit. char : type de données fondamental qui définit les objets caractères. class : pour déclarer un type défini par l’utilisateur qui encapsule des membres de données et des opérations ou des fonctions membres. const : Pour définir des objets dont la valeur ne changera pas pendant toute la durée d’exécution du programme. continue : - Transfère le contrôle au début d’une boucle. défaut : par – Gère les valeurs d’expression dans une instruction switch qui ne sont pas gérées par la casse. delete : Opérateur de désallocation mémoire. do : indique le début d’une instruction do-while dans laquelle la sous-instruction est exécutée à plusieurs reprises jusqu’à ce que la valeur de l’expression soit logical-false. double : type de données fondamental utilisé pour définir un nombre à virgule flottante. else : utilisé spécifiquement dans une instruction if-else. enum : pour déclarer un type de données d’énumération défini par l’utilisateur. extern : Un identifiant spécifié comme extern a un lien externe avec le bloc. float : - Type de données fondamental utilisé pour définir un nombre à virgule flottante. for : Indique le début d’une instruction pour obtenir un contrôle répétitif. friend : une classe ou une opération dont l’implémentation peut accéder aux données privées membres d’une classe. goto : Transfère le contrôle vers une étiquette spécifiée. if : indique le début d’une instruction if pour obtenir un contrôle sélectif. inline : un spécificateur de fonction qui indique au compilateur que la substitution en ligne du corps de la fonction doit être préférée à l’implémentation d’appel de fonction habituelle. int : type de données fondamental utilisé pour définir des objets entiers. long : un modificateur de type de données qui définit un int 32 bits ou un double étendu. nouveau : opérateur d’allocation mémoire. opérateur : surcharge un opérateur c++ avec une nouvelle déclaration. private : Déclare les membres de la classe qui ne sont pas visibles en dehors de la classe. protected : déclare les membres de la classe qui sont privés, sauf pour les classes dérivées public : déclare les membres de la classe qui sont visibles en dehors de la classe. register : un spécificateur de classe de stockage qui est un spécificateur automatique, mais qui indique également au compilateur qu’un objet sera fréquemment utilisé et doit donc être conservé dans un registre. return : renvoie un objet à l’appelant d’une fonction. short : un modificateur de type de données qui définit un nombre entier de 16 bits. signé : un modificateur de type de données qui indique que le signe d’un objet doit être stocké dans le bit de poids fort. sizeof : renvoie la taille d’un objet en octets. statique : la durée de vie d’un objet statique défini existe pendant toute la durée de vie de l’exécution du programme. struct : pour déclarer de nouveaux types qui encapsulent à la fois des données et des fonctions membres. switch : Ce mot-clé utilisé dans l’« instruction Switch ». template : type paramétré ou générique. this : Un pointeur de classe pointe vers un objet ou une instance de la classe. throw : génère une exception. try : Indique le début d’un bloc de gestionnaires d’exceptions. typedef : Synonyme d’un autre type intégral ou défini par l’utilisateur. union : Similaire à une structure, struct, en ce sens qu’elle peut contenir différents types de données, mais une union ne peut contenir qu’un seul de ses membres à un moment donné. unsigned : un modificateur de type de données qui indique que le bit de poids fort doit être utilisé pour un objet. virtual : Un spécificateur de fonction qui déclare une fonction membre d’une classe qui sera redéfinie par une classe dérivée. void : Absence d’une liste de paramètres de type ou de fonction. volatile : Définit un objet dont la valeur peut varier d’une manière indétectable pour le compilateur. while : début d’une instruction while et fin d’une instruction do-while. |
Erreurs ou confusions éventuelles
- confusion entre C et C++
- Confusion entre Objet et Classe
- Confusion entre Polymorphisme et Héritage
Questions possibles
C++ : Regroupement de questions
- Qu’est-ce que C++? Quels sont les avantages d’utiliser C++?
- Quel type de langage est C++? Programmation ou script?
- Quelles sont les différences entre C et C++?
- Comment déclarer un objet en C++ ?
- Comment déclarer un tableau en C++ ??
- Comment programmer en C++ ??
- Est ce qu'on peut gérer une BD avec C++ ?
- Pourquoi C++ est un langage interprété?
- Qu'est ce que la notion de dictionnaires C++?
- Comment convertir un objet en chaîne en C++?
Liaisons enseignements et programmes
Idées ou Réflexions liées à son enseignement
Aides et astuces
Education: Autres liens, sites ou portails
- Comparaison d'IDE C++
- Code Blocks
- Comment installer: https://www.youtube.com/watch?v=QF9z9Awtm1o
- Généralités:
- video:* https://www.youtube.com/watch?v=2dyQZqeEgcA
- documents:*http://math.univ-lyon1.fr/~omarguin/programmation/C++Polycop1.pdf
- Tutoriels C++
- saisie et affichage :* https://openclassrooms.com/fr/courses/1421911-du-c-au-c/1422044-premier-programme-c-avec-cout-et-cin
- les boucles iteratives :*https://fr.wikiversity.org/wiki/Langage_C%2B%2B/Boucles_%26_Structures_Conditionnelles
- Exercices
Bibliographie
Pour citer cette page: ([1])
ABROUGUI, M & al, 2022. C++. In Didaquest [en ligne]. <http:www.didaquest.org/wiki/C%2B%2B>, consulté le 21, novembre, 2024
- ..................
- ..................
- ..................
- ..................
- Sponsors Education
- Programmation (Concepts)
- Informatique (Concepts)
- Algorithmique (Concepts)
- Robotique (Concepts)
- Développement Web (Concepts)
- Intelligence artificielle (Concepts)
- Développement mobile (Concepts)
- Langage de programmation
- Programmation interprété
- Multi-paradigme
- Multi-plateformes
- Programmation impérative
- Programmation impérative structurée
- Programmation déclarative
- Programmation fonctionnelle
- Langages à classes
- Concepts
- C++
- C++ (Concepts)
- Fiche conceptuelle didactique