begin process at 2012 05 30 04:38:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

(-: Surcharge d'operateur :-)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

(-: Surcharge d'operateur :-)

mercredi 7 novembre 2007 à 11:57:10 | (-: Surcharge d'operateur :-)

Trepanator

Salut,

    j'aimerai savoir comment surcharger un operateur d'affectation de tableau générique.

    j'ai déjà créé  dans mon .h le modèle suivant :
    -->    Element operator[]    (int InIndex) ;
    ca, ca fonctionne très bien, je peux donc écrire dans le main :
       int i ;
       C_Tableau<int> a(5) ;// Le constructeur est déjà écrit.
       i = a[4] ;                        //  Me retourne  la valeur de la  dernière case du tableau.

    Maintenant j'aimerai écrire la chose suivante :
    a[4] = i ;                           // Le but est d'affecter une case du tableau en surchargeant les opérateurs = et []
    Comment m'y prendre ?    

ATTENTION : nous parlons ici d'une classe tableau redimensionnable et générique .  

Merci à vous.

Chuck Norris ne dort pas. Il attend.
mercredi 7 novembre 2007 à 13:06:22 | Re : (-: Surcharge d'operateur :-)

luhtor

Réponse acceptée !
Changer la définition de ton tableau:
Element & operator[]    (int InIndex) ;
mercredi 7 novembre 2007 à 14:31:16 | Re : (-: Surcharge d'operateur :-)

Trepanator

Merci pour ta réponse rapide et efficace.
Mais si tout se passait comme je le prévois, je ne serai pas codeur mais maitre du monde :-)

Alors voici un petit plus sur le même sujet (a peu près)

template<class Element> Element & C_Tableau<Element>::operator[] (int InIndex) const
{
    if ((InIndex>=0) && (InIndex<InC_NbElement)) return InC_Tableau[InIndex] ;
    // else return NULL ;
}

est la fonction résultat de la réponse à mon questionnement premier.

Comment faire pour empecher un dépassemeent d'indice ?
comme vous pouvez le constater, j'ai coller un else qui me lève une erreur lors de la compilation.
 error C2440: 'return' : cannot convert from 'const int' to 'double &'
 
Ici le 'double &' est le type <class Element>

Merci encore

Bonne journée

             '"""'
              - O
/--------o00---0---00o------\
|                           |
|        Trepanator         |
| @dr : yb0@numericable.fr  |
|                           |
\----------oOO---OOo--------/

mercredi 7 novembre 2007 à 15:47:26 | Re : (-: Surcharge d'operateur :-)

Trepanator

Reponse de moi même,

C.F réponse de luhtor (encore lui, mais il est partout :-) la partie sur les exceptions.

http://www.cppfrance.com/codes/TABLEAU-3D-GENERIQUE_35189.aspx


mercredi 7 novembre 2007 à 23:44:39 | Re : (-: Surcharge d'operateur :-)

luhtor

Dans ton cas, un petit assert est parfait. Et de plus, utilise un type non signé plutot qu'un int. De cette facon, tu as juste a tester si l'index est trop grand

template<class Element> Element & C_Tableau<Element>::operator[] (unsigned int InIndex) const
{
     assert(InIndex < Inc_NbElement);
     return InC_Tableau[InIndex] ;
}

jeudi 8 novembre 2007 à 08:15:00 | Re : (-: Surcharge d'operateur :-)

Trepanator

Comme d'hab, Efficace et pertinent.

Merci au poitevin (d'etudes du moins).



Cette discussion est classée dans : tableau, déj, surcharge, operateur, générique


Répondre à ce message

Sujets en rapport avec ce message

surcharge d'operateur dans une classe [ par jfk20004 ] Est ce que la surcharge d'operateur intervient chaque fois que l 'on definit une classe.Franchement je n'ai pas encore capté le pourquoi de la surchar question sur les surcharges et les fonctions amies en c++ [ par maymouna2008 ] salut tt le monde je veux que vous m expliquer et me donne des reponse ,svp c est urgent,  sur un programme en c++:c est un probleme d une fonction ma c++ -> surcharge d'ope et heritage ... [ par Alligokouax ] je suis vraiment au bord du suicide, j'ai exam dans trois jours ... et c la merdecomment peux on faire et est ce que cela existe :utiliser la surcharg Surcharge d'operateur [ par AngeloVivaldi ] Salut, je voudrai redefinir cout dans de iostream.h pour qu'il affiche un membre de ma class au lieu d'afficher l'adresse de l'objet :Par exemple, pou surcharge operateur de flux >> en c++ [ par kawito ] bonjour,je realise une classe Chaine en c++, et j'aimerais savoir comment surcharger l'operateur >> friend istream& operator>>(istream& i, Chaine& s){ Visual C++ et tableau [ par stifu ] Salut tout le monde,Pour faire court, j'ai déjà touché au C++, mais jusque là je n'ai fait que des applications "console", et maintenant je voudrais f operateur delete de classe via finalize [ par julojulo ] bonjour,je suis en train d'ecrire un prgm pour justifier un texte, je me sers d'une classe vecteur que j'ai cree (resemble a la classe vektor), je cre Constructeur par copie / surcharge de l'operateur = [ par tanguy_laverdure ] Quelqu'un pourrait il me dire la difference entre le Constructeur par copie et la surcharge de l'operateur = ?Pour par part, j'ai un Objet CSolution surcharge de l'operateur ">>" du cin [ par pounch ] bon voila mon problemej'aimerai parser une ligne de commande grace au cin et afficher un prompt lorsque j'ai fini de parser. Mais le cin n'a pas de me Surcharge d'operateur [ par jfk20004 ] Est il possible de m'expliquer clairement la surcharge d'operateurs:Ce que je sais :souvent utilisé dans les redefinition de classes mathematiques.PRO


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales