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 :

fonctions membres surchargées


Sujet :

C++

  1. #1
    Membre éprouvé
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par défaut fonctions membres surchargées
    bonjour

    on me demande de créer une classe vecteur3d permettant de manipuler des vecteurs à 3d.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class vecteur3d {
     float x,y,z;
    };
    en utilisant des fonctions membres surchargées .

    Ca veut dire quoi surchargées? pouvez vous me donner un exemple.

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Salut,

    La surcharge d'une fonction signifie, tout simplement, que plusieurs fonctions du meme nom, mais prenant des arguments différents, permettent d'arriver au meme résultat...

    Un simple exemple, pour te permettre de comprendre:

    Ta classe vecteur3d peut etre intialisée de différentes manières:
    • "par défaut" (x, y et z valent 0)
    • en fournissant les trois float séparément
    • en fournissant un tableau de trois float
    • ...

    Tu pourrais donc prévoir trois constructeur pour ta classe sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    vecteur3d::vecteur3d():x(0.f),y(0.f),y(0.f) //constructeur par défaut
    {
     
    }
    //constructeur fournissant les trois valeurs séparément
    vecteur3d::vecteur3d(float x, float y, float z):x(x),y(y),z(z)
    {
     
    }
    //constructeur en fournissant un tableau de trois float
    vecteur3d::vecteur3d(float tab[3]):x(tab[0]),y(tab[1]),z(tab[2])
    {
     
    }
    De la meme manière, il y a surement d'autres fonctions qui sont susceptibles de permettre d'obtenir un résultat donné, en fournissant, selon le contexte, des arguments différents, et dont le seul but est, en définitive, de simplifier le travail de l'utilisateur des fonctions...

    La surcharge des fonctions, ce n'est que cela
    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

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    A mon avis vu la classe (vecteurs 3D) je pense que l'énoncé parlait plutôt d'opérateurs surchargés, non ?

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

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Citation Envoyé par Laurent Gomila
    A mon avis vu la classe (vecteurs 3D) je pense que l'énoncé parlait plutôt d'opérateurs surchargés, non ?
    Ah, peut etre...

    Mais comme, en définitive, un opérateur n'est jamais qu'une fonction, le principe reste le meme...
    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

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

Discussions similaires

  1. [HowTo : surcharge] Préciser une fonction membre
    Par Ylvin dans le forum Langage
    Réponses: 10
    Dernier message: 01/02/2012, 03h45
  2. Switch dans fonction membre
    Par Raish dans le forum C++
    Réponses: 11
    Dernier message: 30/03/2005, 14h41
  3. Réponses: 10
    Dernier message: 03/02/2005, 13h09
  4. Réponses: 5
    Dernier message: 12/01/2005, 20h58
  5. Thread avec une fonction membre d'une classe
    Par SteelBox dans le forum Windows
    Réponses: 6
    Dernier message: 01/03/2004, 01h15

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