C++ explication
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

C++ explication



  1. #1
    invite53af088b

    C++ explication


    ------

    je viens de commencer à programmer sur C++; au départ; j'ai du mal à comprendre quelques notions , comme la notion du constructeur et de destructeur; vous pouvez m'expliquer de façon plus claire; et merci d'avance

    -----

  2. #2
    Jack
    Modérateur

    Re : C++ explication

    le constructeur doit se charger de tout ce qui concerne l'initialisation d'un objet. Le destructeur assure le nettoyage quand un objet devient inutile et est détruit.

    A+
    Dernière modification par Jack ; 29/11/2012 à 23h13.

  3. #3
    invite53af088b

    Re : C++ explication

    Merci bcp pr ces info;
    j'ai vu ds un exemple l'utilisation d'un constructeur et aussi d'un constructeur par défaut; je me demande à quoi sert ce dernier??

  4. #4
    Jack
    Modérateur

    Re : C++ explication

    si tu ne donnes aucune indication sur les valeurs à initialiser, c'est ce constructeur qui sera utilisé.

    Par exemple, si on instancie un point, le constructeur standard l'initialisera avec les coordonnées qu'on lui aura fournies (Point p(5,9); ). En l'absence de celle-ci, on peut décider de l'initialiser avec X=0 et Y=0 par exemple (point p; ).

    A+
    Dernière modification par Jack ; 08/12/2012 à 19h33.

  5. A voir en vidéo sur Futura
  6. #5
    Paraboloide_Hyperbolique

    Re : C++ explication

    Bonsoir,

    A noter que la plupart du temps (tout le temps ?) un compilateur fournit automatiquement un constructeur et un destructeur par défaut, même si l'on ne les spécifient pas explicitement dans le code. Dans l'exemple de Jack, cela autorisera toujours d'écrire "point p;"

    Cependant, ce constructeur et destructeur par défaut ne font... rien. C'est à dire que les coordonnées du point p seront initialisées à des valeur indéfinies et le comportement du programme à l'exécution sera aléatoire.

    Je spécifie ceci, car c'est un bug courant qu'un débogueur ne décéléra en général pas. En effet, la plupart des débogueurs remplissent par des 0 les variables non-initialisées (point p initialisé à (0, 0)). Cela a pour conséquence d'obtenir un programme qui se comporte normalement en mode debug et qui plante en mode release. Repérer l'erreur ci-dessus peut être très difficile dans certains cas, car elle n'est présente explicitement dans aucune ligne de code.

  7. #6
    invite1bcc2991

    Re : C++ explication

    J'ajouterai que le constructeur par défaut que toutes les classes ont par défaut disparait si on défini un constructeur avec paramètres.

    Exemple:

    Code:
    class Test
    {
        private:
            int a;
    
        public:
            Test(int a)
            {
                this->a=a;
            }
    };
    
    int main()
    {
        Test t; //ne compilera pas vu que le Test(int a) écrase le constructeur par défaut. Il faut donc redéfinir le constructeur par défaut, soit en mettant des valeurs par défaut (Test(int a=0)) au constructeur avec paramètres soit définir Test()
    }
    Au plaisir,

    Aenonis

  8. #7
    Paraboloide_Hyperbolique

    Re : C++ explication

    Merci de la précision.

Discussions similaires

  1. explication
    Par invitebfb3395d dans le forum Mathématiques du collège et du lycée
    Réponses: 6
    Dernier message: 16/01/2010, 16h07
  2. Explication : id
    Par invite7d811809 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 31/12/2009, 13h34
  3. Explication?
    Par indri dans le forum Électronique
    Réponses: 1
    Dernier message: 22/05/2007, 23h30
  4. explication
    Par invite0e4ceef6 dans le forum Technologies
    Réponses: 15
    Dernier message: 26/07/2005, 00h02
  5. explication
    Par invitefb8e9511 dans le forum Chimie
    Réponses: 1
    Dernier message: 03/02/2005, 17h28