IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

3 utilisations de const


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 426
    Points : 183
    Points
    183
    Par défaut 3 utilisations de const
    bonjour,
    j'ai reçu un code en c++ où figure 3 utilisation de const
    le code est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        class Vec2f
        {
            float x, y;
        public:
            const Vec2f DotProduct( const Vec2f& OtherVector ) const;
            virtual void Init()=0;
        };
    quel est l'explication de ces 3 const et est ce qu'on peut instancer la classe Vec2f?

    merci pour tout aide
    There is more than one way to do it

  2. #2
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 142
    Points : 154
    Points
    154
    Par défaut
    Salut,

    En règle général quand on définis un const, cela veut dire que l'on déclare une constante qui ne peut être modifiée.

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour et bienvenu,
    Chaque const s'applique avec ce à quoi il est associé:
    1/ Le premier const indique que la valeur en retour est constante et ne peut donc être modifiée.
    2/ Le second const indique que le paramètre est constant et ne peut donc être modifié dans la méthode.
    3/ Le troisième const indique que la méthode est constante, donc l'objet sur lequel s'applique la méthode ne pourra être modifié (les variables membres ne peuvent pas être modifiées et seul des méthodes const peuvent être appelées).

  4. #4
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut, et bienvenue sur le forum.

    Et la réponse à la dernière question (que 3DArchi semble avoir "zappée"): non cette classe ne peut pas être instanciée en tant que telle, du fait de la présence d'une fonction virtuelle pure...

    Cette classe doit être dérivée (et la fonction init() redéfinie) afin que la classe dérivée puisse l'être.
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 426
    Points : 183
    Points
    183
    Par défaut
    Merci pour les réponses

    J'ai encore besoin d'un exemple de code Singleton pattern.
    There is more than one way to do it

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Points : 1 176
    Points
    1 176
    Par défaut
    Citation Envoyé par jaljal Voir le message
    Merci pour les réponses

    J'ai encore besoin d'un exemple de code Singleton pattern.
    on va pas faire tes devoirs non plus.

  7. #7
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 142
    Points : 154
    Points
    154
    Par défaut
    Citation Envoyé par nikko34 Voir le message
    on va pas faire tes devoirs non plus.
    Exactement.

    Mais on peut t'apporter des précision sur son fonctionnement.

    Le pattern Singleton c'est juste une class qui ne s'implémente qu'une fois. Comment ? Tous simplement avec une variable statique qui compte le nombre de fois ou on instancie la class. donc dans le constructeur un petit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if ( ma_variable_statique == 0 )
    {     // on construit l'objet
    }
    else
    {
    // ton msg d'erreur
    }

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    @Funk92 : Je trouve que tu es très vague pour l'implémentation du Singleton. Enfin en même temps faut pas donné la solution , mais en lisant la première fois j'avais pas compris ce que tu faisait .
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Il y a un exemple dans la de l'utilisation du singleton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utilisation de "const"
    Par Garra dans le forum C++
    Réponses: 3
    Dernier message: 23/10/2011, 23h59
  2. [PHP 5.3] souci dans l'utilisation de CONST
    Par ETVigan dans le forum Langage
    Réponses: 4
    Dernier message: 23/04/2010, 11h43
  3. Réponses: 8
    Dernier message: 06/11/2008, 08h35
  4. Utilisation des CONST
    Par Aragorn_destroy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/06/2007, 16h45
  5. de la bonne utilisation de const
    Par gangsoleil dans le forum C
    Réponses: 2
    Dernier message: 14/09/2005, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo