Différence entre Structure et Classe

Quelle est la différence entre Structure et Classe ? – Les structures et les classes sont presque pareils, mais il existe de nombreuses différences. La différence majeure est que la classe offre la flexibilité de combiner des données et des méthodes et fournit la réutilisabilité appelée héritage. Structure devrait normalement être utilisé pour regrouper des données. La différence technique se résume à des problèmes subtils concernant la visibilité par défaut des membres.
Différence entre la surcharge de fonctions et la redéfinition de fonctions en C ++

// Programme 1
#include <stdio.h>
  
class Personne { 
    int age; //l'âge est un membre privé par défaut
}; 

int main()
{
    Personne p;
    p.age = 25; // erreur de compilation, car l'âge est un membre privé
    getchar(); 
    return 0; 
}

 

// Programme 2
#include <stdio.h>
  
struct Personne { 
    int age; //l'âge est un membre public par défaut
}; 

int main()
{
    Personne p;
    p.age = 25; // fonctionne bien parce que l'âge est un membre public
    getchar(); 
    return 0; 
} 
Différence entre exit 0 et exit 1

3 réflexions sur “Différence entre Structure et Classe

  • juin 3, 2020 à 5:16
    Permalien

    Malheureusement, 2 choses sont fausses dans ce texte :

    Premièrement, la taille d’une structure vide n’est pas de 0 octet. C’est la même que celle d’une classe vide, c’est à dire 1 octet.
    Ensuite, ceci est très important, il est tout à fait possible de créer une structure qui hérite d’une classe. Il est entièrement faux de dire que la structure ne supporte pas l’héritage.

    Voilà voilà…

    Répondre
    • juin 3, 2020 à 6:47
      Permalien

      C’est vrai pour le langage C++, mais c’est FAUX pour le langage C.

      Répondre
  • juin 1, 2022 à 12:36
    Permalien
    #include <stdio.h>
      
    typdef struct Personne { 
        int age; //l'âge est un membre public par défaut
    }personne; 
    
    int main()
    {
        personne p;
        p.age = 25; // fonctionne bien parce que l'âge est un membre public
        getchar(); 
        return 0; 
    }
    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.