Différence entre C et C++ ?

6 Réponses


  • La principale différence entre C et C++ est que C est un langage de programmation procédural et ne prend pas en charge les classes et les objets, tandis que C++ est une combinaison de langage de programmation procédural et orienté objet. par conséquent, C++ peut être appelé un langage hybride.

  • C++ est multi-paradigme (pas de pure POO, prend en charge à la fois procédural et orienté objet) tandis que C suit la programmation de style procédural.
      En C, la sécurité des données est moindre, mais en C++, vous pouvez utiliser des modificateurs pour les membres de votre classe afin de les rendre inaccessibles de l'extérieur.
      C suit une approche descendante (la solution est créée étape par étape, comme chaque étape est traitée en détail au fur et à mesure que nous procédons) mais C++ suit une approche ascendante (où les éléments de base sont établis en premier et sont liés pour créer des solutions complexes) .
      C++ prend en charge la surcharge de fonctions alors que C ne le prend pas en charge.
      C++ permet l'utilisation de fonctions dans les structures, mais C ne le permet pas.
      C++ prend en charge les variables de référence (deux variables peuvent pointer vers le même emplacement mémoire). C ne supporte pas cela.
      C n'a pas de framework de gestion des exceptions intégré, bien que nous puissions l'émuler avec d'autres mécanismes. C++ prend directement en charge la gestion des exceptions, ce qui facilite la vie du développeur.

    pour info cette visite

  • C est un langage de programmation procédural et ne prend pas en charge les classes et les objets.

    C++ est une combinaison de langage de programmation procédural et orienté objet. C++ peut être appelé un langage hybride.

  • C++ est bien plus que c avec des classes. Il existe de nombreux autres concepts à l'intérieur du C++, tels que les modèles, la surcharge de fonctions et d'opérateurs, les exceptions et bien d'autres déjà mentionnés ici. Cela rend le C++ très puissant et flexible, mais aussi difficile à apprendre. Ce n'est pas que les concepts individuels soient difficiles à comprendre, mais la somme d'entre eux et la façon dont ils jouent ensemble. Jetez un œil à boost pour voir ce qu'il est possible de faire avec C++. Et je suppose qu'il a fallu des siècles pour comprendre ce qui se passe sous le capot, ce qui est très clair dans le cas de C.

  • C++ est multi-paradigme (pas de pure POO, prend en charge à la fois procédural et orienté objet) tandis que C suit la programmation de style procédural.
      En C, la sécurité des données est moindre, mais en C++, vous pouvez utiliser des modificateurs pour les membres de votre classe afin de les rendre inaccessibles de l'extérieur.
      C suit une approche descendante (la solution est créée étape par étape, comme chaque étape est traitée en détail au fur et à mesure que nous procédons) mais C++ suit une approche ascendante (où les éléments de base sont établis en premier et sont liés pour créer des solutions complexes) .
      C++ prend en charge la surcharge de fonctions alors que C ne le prend pas en charge.


      C++ permet l'utilisation de fonctions dans les structures, mais C ne le permet pas.
      C++ prend en charge les variables de référence (deux variables peuvent pointer vers le même emplacement mémoire). C ne supporte pas cela.
      C n'a pas de framework de gestion des exceptions intégré, bien que nous puissions l'émuler avec d'autres mécanismes. C++ prend directement en charge la gestion des exceptions, ce qui facilite la vie du développeur.
    pour plus d'infos visitez ce site

  • En C++, struct et class sont exactement les mêmes choses, sauf que struct est par défaut en visibilité publique et que la classe par défaut en visibilité privée.
    Quelques différences importantes entre les structures C et C++ :

    1. Fonctions membres à l'intérieur de la structure : Les structures en C ne peuvent pas avoir de fonctions membres à l'intérieur de la structure, mais les structures en C++ peuvent avoir des fonctions membres avec des membres de données.
    2. Initialisation directe : Nous ne pouvons pas initialiser directement les membres de données de structure en C mais nous pouvons le faire en C++.

      • C
      • C++
      // Programme C pour démontrer que
      // l'initialisation directe des membres n'est pas possible en C
      #include <stdio.h>

      struct Record {
          int x = 7;
      } ;

      // Programme pilote
      int main()
      {
          struct Record s;
          printf("%d", sx);
          renvoie 0 ;
      }
      /* Sortie : Erreur du compilateur
        6:8 : Erreur : Attendu ':', ', ', ';', '}' ou
        '__attribute__' avant '=' token
        int x = 7;
              ^
        Dans la fonction 'principale' : */


      Production:

      7
    3. Utilisation du mot-clé struct : En C, nous devons utiliser struct pour déclarer une variable struct. En C++, struct n'est pas nécessaire. Par exemple, supposons qu'il y ait une structure pour Record. En C, nous devons utiliser « struct Record » pour les variables Record. En C++, nous n'avons pas besoin d'utiliser struct et l'utilisation de 'Record' fonctionnerait uniquement.
    4. Membres statiques : les structures C ne peuvent pas avoir de membres statiques mais sont autorisées en C++.

      • C
      • C++
      // Programme C avec structure membre statique
      struct Record {
          static int x;
      } ;

      // Programme pilote
      int main()
      {
          return 0;
      }
      /* 6:5 : Erreur : spécificateur-qualificatif-liste attendu
        avant 'static'
          static int x ;
          ^*/


      Cela générera une erreur en C mais pas d'erreur en C++.
    5. Création de constructeur dans la structure : Les structures en C ne peuvent pas avoir de constructeur à l'intérieur de la structure mais les structures en C++ peuvent avoir une création de constructeur.

      • C
      • C++
      // Programme C pour démontrer que le constructeur n'est pas autorisé
      #include <stdio.h>

      struct Student {
          int roll;
          Student(int x)
          {
              roll = x;
          }
      } ;

      // Programme pilote
      int main()
      {
          struct Student s(2);
          printf("%d", sx);
          renvoie 0 ;
      }
      /* Sortie : Erreur du compilateur
        [Error] attendu specifier-qualifier-list
          avant 'Student'
        [Error] spécificateurs de déclaration attendus ou
        '...' avant la constante numérique
        [Erreur] 's' non déclaré (utilisez d'abord
        5555555555 dans cette fonction)
        Dans la fonction 'main' : */


      Sortie : 2
    6. opérateur sizeof : Cet opérateur générera 0 pour une structure vide en C alors que 1 pour une structure vide en C++.// Programme C pour illustrer une structure vide
      #include <stdio.h>

      // structure vide
      struct Record {
      };

      // Programme pilote
      int main()
      {
          struct Record s;
          printf("%dn", taille de(s));
          renvoie 0 ;
      }

      Sortie en C :



      0

      Sortie en C++ :

      1
    7. Masquage des données : les structures C n'autorisent pas le concept de masquage des données, mais sont autorisées en C++ car C++ est un langage orienté objet alors que C ne l'est pas.
    8. Modificateurs d'accès : les structures C n'ont pas de modificateurs d'accès car ces modificateurs ne sont pas pris en charge par le langage. Les structures C++ peuvent avoir ce concept car il est intégré au langage.

    fileyogi

Ecrivez votre réponse

Votre réponse apparaîtra après modération