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

MFC Discussion :

[CDatabase] Surcharge de l'opérateur =


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de SmOkEiSBaD
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2008
    Messages : 234
    Par défaut [CDatabase] Surcharge de l'opérateur =
    Bonjour à tous,
    Je voudrais faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CDatabase db1, db2;
    db1 = db2;
    Mais apparement il n'y a pas de surcharge de l'opérateur =, existe-t-il une fonction de copie ? Ou un quelconque moyen de faire ?

    Merci.

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 155
    Par défaut
    Mais apparement il n'y a pas de surcharge de l'opérateur =
    et ben si

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    type& operator=(type const &val)

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Citation Envoyé par SmOkEiSBaD Voir le message
    Mais apparement il n'y a pas de surcharge de l'opérateur =, existe-t-il une fonction de copie ? Ou un quelconque moyen de faire ?
    Tout dépend de ce qu'est exactement CDatabase, en l'occurrence on a besoin d'un peu plus d'information pour pouvoir répondre...

    MAT.

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 155
    Par défaut
    Tout dépend de ce qu'est exactement CDatabase, en l'occurrence on a besoin d'un peu plus d'information pour pouvoir répondre...
    bah moi je dirais qu'on s'en moque un peu nan?

    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
    16
     
    CDatabase & operator=(CDatabase const &val)
    {
      //il fait ce qu'il veut ici
    }
     
    //ou bien
    CDatabase & operator=(int &val)
    {
      //s'il veut pouvoir ecrire CDatabase = int...
    }
    template<class T>
    CDatabase & operator=(T const&val)
    {
      //s'il veut pouvoir ecrire CDatabase = le reste des types!
    }

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Citation Envoyé par loicounet Voir le message
    bah moi je dirais qu'on s'en moque un peu nan?
    S'il ne peut pas modifier le code de la classe ça réduit tout de suite les possibilités.
    Par exemple s'il s'agit de ce CDatabase-là...

    Mis à part cela si CDatabase fait partie d'une hiérarchie de classe c'est vraisemblablement pas très malin de lui ajouter un opérateur d'affectation, c'est la porte ouverte aux problèmes de slicing.

    edit: ah tiens entre temps le sujet a été déplacé dans le forum MFC

    MAT.

  6. #6
    Membre éclairé Avatar de SmOkEiSBaD
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2008
    Messages : 234
    Par défaut
    Citation Envoyé par Mat007 Voir le message
    Par exemple s'il s'agit de ce CDatabase-là...
    Bonjour,
    Effectivement il s'agit de ce CDatabase..
    Apparement c'est la classe CObject qui a une surcharge du =, je ne peux donc pas résoudre le problème ?..
    Merci quand même.

  7. #7
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Bonjour,

    Je me suis déjà posé la question. Et je pense que les créateurs de cette classe ont délibérément choisi de ne pas implémenter de constructeur par copie et d'opérateur d'affectation.
    En ce qui me concerne, je me suis débrouillé sans, et je pense que c'est ce qu'il y a de mieux à faire...

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

Discussions similaires

  1. Surcharge de l'opérateur new
    Par :Bronsky: dans le forum C++
    Réponses: 17
    Dernier message: 27/10/2010, 21h33
  2. Réponses: 8
    Dernier message: 29/08/2006, 00h56
  3. [C#] Surcharge de l'opérateur ==
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/07/2006, 16h19
  4. Réponses: 6
    Dernier message: 12/07/2006, 15h34
  5. Réponses: 15
    Dernier message: 25/01/2005, 16h51

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