Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1438 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Surcharge d operateur = et virtual , ca va ensemble ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Surcharge d operateur = et virtual , ca va ensemble ?

n°459977
xilebo
noone
Posté le 17-07-2003 à 10:37:23  profilanswer
 

Salut,
 
j essaie de surcharger l operateur = (affectation) pour plus de lisibilité dans mon code.
 
En gros j ai une classe de base  
 

Code :
  1. class CBase {
  2.     CBase():
  3.     ~CBase();
  4.     int a;
  5.     int b;
  6. };
  7. class CFille1  {
  8.       CFille1();
  9.       ~CFille1();
  10.       int c;
  11. }
  12. class CFille2  {
  13.       CFille2();
  14.       ~CFille2();
  15.  
  16.       int d;
  17. }


 
 
je voudrais dupliquer des objets de cette facon :
 

Code :
  1. CFille1 *pF1;
  2. pF1= new CFille1;
  3. pF1->a = 1;
  4. pF1->b = 2;
  5. pF1->c = 3;
  6. CFille2 *pF2;
  7. pF2 = new CFille2;
  8. pF2 = pF1;


 
 
comment surcharger l operateur au niveau de la classe de base (pour qu il ne copie que les params de base) et au niveau de chaque classe fille (pour qu il copie les params base et fille)  
 
 
Est ce que la notion "virtual" existe pour les surcharges d operateur ?
 
 
merci


Message édité par xilebo le 17-07-2003 à 11:02:30
mood
Publicité
Posté le 17-07-2003 à 10:37:23  profilanswer
 

n°460013
polo021
Posté le 17-07-2003 à 11:00:15  profilanswer
 

ce serait une bonne idee de faire deriver tes classes filles de la classe de base pour debuter.
 
et pour la surcharge fais une recherche sur ce forum ca a surement deja ete aborde maintes fois. (sinon va sur www.dejanews.com tu trouvera aussi plein de code source avec de la surchage d'operateur)


Message édité par polo021 le 17-07-2003 à 11:00:46
n°460016
xilebo
noone
Posté le 17-07-2003 à 11:01:39  profilanswer
 

je m explique un peu car ca n a pas l air clair.
 
je voudrais utiliser la puissance de virtual pour la surcharge des operateur c est a dire que si je fais :
 
 

Code :
  1. obj2 = obj1 ;


avec obj1 et obj2 declaré en tant que CBase mais alloué en tant que CFille1 (ou CFille2 on s en fout) : est il possible que ca fasse appel automatiquement a la surcharge d operateur de la classe CFille1 comme cela fonctionnerait avec une fonction virtuelle ?
 
PS : polo021 , je ne debute pas du tout en C++ ;) mais j ai un doute sur ce point car j utilise rarement la surcharge d operateur.


Message édité par xilebo le 17-07-2003 à 11:04:02
n°460027
Taz
bisounours-codeur
Posté le 17-07-2003 à 11:13:22  profilanswer
 

l'opérateur =  comme les autres opérateurs qui peuvent etre synthéthisés par le compilateur, ne s'heritent pas, ne peuvent etre virtuels

n°460030
xilebo
noone
Posté le 17-07-2003 à 11:17:12  profilanswer
 

merde ca c est con, ca pourrait etre bien pratique. du coup je vais devoir faire un switch pas beau. Tant pis, merci pour l eclaircissement.
 
edit : non mieux, je vais ecrire une fonction virtuelle de duplication.


Message édité par xilebo le 17-07-2003 à 11:18:18
n°460053
Taz
bisounours-codeur
Posté le 17-07-2003 à 11:34:55  profilanswer
 

le con, c'est toi: un constructeur, opérateur d'affectation virtuels ça veut rien dire: si y a bien des opérations ou le type importe c'est celles-ci. réfléchis un peu et t'auras honte.

n°460088
xilebo
noone
Posté le 17-07-2003 à 11:59:29  profilanswer
 

++Taz a écrit :

le con, c'est toi: un constructeur, opérateur d'affectation virtuels ça veut rien dire: si y a bien des opérations ou le type importe c'est celles-ci. réfléchis un peu et t'auras honte.


 
eh oh pas d insulte ... tu te prends pour qui ?  
 
je demande un renseignement, tu m affirme que ca n est pas possible. Je trouve donc une autre solution, c'est tout.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Surcharge d operateur = et virtual , ca va ensemble ?

 

Sujets relatifs
surcharge d'operateur quand en faire des fonctions membres/pas membressurcharge d'opérateurs ?
héritage et surchage d'opérateurOuvrir/fermer l'ensemble des noeuds
je Cherche la fonction qui surcharge un INT en un VARCHAR !!!!cherche requete permettant de connaitre l'ensemble des tables
CSS : Appliquer propriété à un ensemble de td dans UNE table précise.[Algo] Info sur le Dominating Set ou Ensemble Dominants
[OpenGL] ensemble de points et patates :D 
Plus de sujets relatifs à : Surcharge d operateur = et virtual , ca va ensemble ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR