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

  FORUM HardWare.fr
  Programmation
  C++

  AddScript

 

 

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

AddScript

n°468187
polo021
Posté le 25-07-2003 à 22:13:46  profilanswer
 

[:prosterne] ++Taz
Peut tu nous expliquer ceci en detail stp.
 
struct Foo::AddScript
    {
          AddScript(const Foo &lhs, const Foo &rhs)
            : m_lhs(lhs),
              m_rhs(rhs)
          {}
         
          operator Foo() const
          {
                cout << "AddScript::Foo()\n";
             
                Foo tmp(m_lhs);
                tmp+=m_rhs;
                return tmp;
          }
         
          const Foo &m_lhs;
          const Foo &m_rhs;
    };

mood
Publicité
Posté le 25-07-2003 à 22:13:46  profilanswer
 

n°468190
Taz
bisounours-codeur
Posté le 25-07-2003 à 22:17:53  profilanswer
 

Code :
  1. struct Foo::AddScript
  2. // AddScript est un type déclaré à l'intérieur de la classe Foo  
  3. // le but de cette classe est de porter 2 références à des objets  
  4. // de type Foo
  5. // l'acces est public par defaut
  6.    {
  7. // constructeur avec 2 arguments   
  8.       AddScript(const Foo &lhs, const Foo &rhs)
  9.             : m_lhs(lhs),
  10.               m_rhs(rhs)
  11. // les réferences n'ont pas de valeur par défaut et doivent donc etre absolument initialisée   
  12.           {}
  13. // plus rien à faire         
  14.           operator Foo() const
  15. // operateur de conversion de AssScript en Foo
  16.           {
  17.                 cout << "AddScript::Foo()\n";
  18.            
  19.                 Foo tmp(m_lhs);
  20.                 tmp+=m_rhs;
  21.                 return tmp;
  22. // apres quelque calcul on retourne bien un objet de type Foo
  23.           }
  24.        
  25. // les deux membres
  26. // 2 réferences constantes
  27.           const Foo &m_lhs;
  28.           const Foo &m_rhs;
  29.     };

n°468193
polo021
Posté le 25-07-2003 à 22:32:30  profilanswer
 

:pt1cable: mais merci quand meme :jap:

n°468334
polo021
Posté le 26-07-2003 à 10:51:37  profilanswer
 

en fait mon probleme de comprehension a la base venait du fait que je me souvenais plus que

Code :
  1. AddScript(const Foo &lhs, const Foo &rhs)
  2.                 : m_lhs(lhs),
  3.                   m_rhs(rhs) 
  4.               {}


etait egal à

Code :
  1. AddScript(const Foo &lhs, const Foo &rhs)
  2. {
  3. m_lhs = lhs;
  4. m_rhs = rhs;
  5. }


Alors j'etais un peu paumé pour la suite
 :sweat:  
 
Je me sers jamais de cette syntaxe


Message édité par polo021 le 26-07-2003 à 10:52:18
n°468336
Taz
bisounours-codeur
Posté le 26-07-2003 à 10:52:11  profilanswer
 

non, c'est pas du tout équivalent

n°468338
polo021
Posté le 26-07-2003 à 10:52:44  profilanswer
 

a ben mince alors  :pt1cable:


Message édité par polo021 le 26-07-2003 à 10:52:59
n°468339
Taz
bisounours-codeur
Posté le 26-07-2003 à 10:53:59  profilanswer
 

polo021 a écrit :

a ben mince alors  :pt1cable:  

fais une classe aec des jolis messages dans les différents constructeurs et amuse toi à la mettre comme membre dans une autre. vois la différence, tu comprendras

n°468358
polo021
Posté le 26-07-2003 à 11:18:41  profilanswer
 

un genre comme ca

Code :
  1. class CClasse1 
  2. {
  3. public:
  4. CClasse1();
  5. CClasse1(int, float);
  6. int entier;
  7. float reel;
  8. virtual ~CClasse1();
  9. class CClasse2 
  10. {
  11. public:
  12.  CClasse2();
  13.  CClasse2(int, float);
  14.  int entier2;
  15.  float reel2;
  16.  virtual ~CClasse2();
  17. };
  18. };

:??:
Comment je dois faire pour creer un objet classe2??

n°468363
Taz
bisounours-codeur
Posté le 26-07-2003 à 11:22:34  profilanswer
 

boolay....
 
quand l'{ d'un constructeur est ouverte, tous les membres sont correctement construit : seulement voilà, des fois tes membres ont pas de constructeurs par défaut ou doivent etre initialisée (constantes), ou alors tu te dis que c'est bien joli, mais construire un objet par défaut, tout casser, puis réaffecter dans le constructeur, ça a un certain coup


Message édité par Taz le 26-07-2003 à 11:25:51
n°468371
polo021
Posté le 26-07-2003 à 11:44:49  profilanswer
 

quel est le rapport?
 
EDIT :  
Je susi bete.
je crois que je viens de piger a retardement.
 
Donc si je construis un objet CClasse1, j'aurai automatiquement aussi un objet CClasse2 puisque CClasse2 est un membre de CClasse1.
Mais quelle est la syntaxe pour utiliser un objet CClasse2?


Message édité par polo021 le 26-07-2003 à 11:49:32
mood
Publicité
Posté le 26-07-2003 à 11:44:49  profilanswer
 

n°468378
Taz
bisounours-codeur
Posté le 26-07-2003 à 11:53:31  profilanswer
 

non, t'as tout faux...

n°468383
Taz
bisounours-codeur
Posté le 26-07-2003 à 12:01:08  profilanswer
 

les CV mensongers, c'est mal http://users.skynet.be/polo021/cv.html

n°468384
tchoupinet​te
Posté le 26-07-2003 à 12:02:24  profilanswer
 


 
 [:glass]

n°468387
polo021
Posté le 26-07-2003 à 12:07:39  profilanswer
 

Taz a écrit :

non, t'as tout faux...


explique moi alors  :pfff:
 
EDIt : mon cv est pas mensonger d'abord, y juste que je dis pas à quel niveau je me trouve  :o


Message édité par polo021 le 26-07-2003 à 12:08:19
n°468388
tchoupinet​te
Posté le 26-07-2003 à 12:08:17  profilanswer
 

polo021 a écrit :


explique moi alors  :pfff:  


 
j'crois qu'il vaudrait mieux que tu abandonnes là parce que tu t'enfonces de message en message ...

n°468389
polo021
Posté le 26-07-2003 à 12:09:02  profilanswer
 

Tchoupinette a écrit :


 
j'crois qu'il vaudrait mieux que tu abandonnes là parce que tu t'enfonces de message en message ...


m'en fout je veux comprendre, ses explications ne sont pas des plus claires non plus  :o

n°468390
tchoupinet​te
Posté le 26-07-2003 à 12:09:30  profilanswer
 

polo021 a écrit :


m'en fout je veux comprendre, ses explications ne sont pas des plus claires non plus  :o  


 
je sens que tu n'es pas sorti d'affaire là ...


---------------
http://membres.lycos.fr/axelfa
n°468391
Taz
bisounours-codeur
Posté le 26-07-2003 à 12:09:47  profilanswer
 

Tchoupinette a écrit :


 
j'crois qu'il vaudrait mieux que tu abandonnes là parce que tu t'enfonces de message en message ...

oui et je suis pas payé. achète toi un bin vrai livre et voilà, par ce qu'il te manque pas ma de bases

n°468392
Taz
bisounours-codeur
Posté le 26-07-2003 à 12:11:13  profilanswer
 

polo021 a écrit :


m'en fout je veux comprendre, ses explications ne sont pas des plus claires non plus  :o  

c'est toi qui merdoies le cas échéant. je te dis faire un test simple, et tu le fais pas. je te dis de faire un membre, tu fais une déclaration imbriquée

n°468393
polo021
Posté le 26-07-2003 à 12:11:26  profilanswer
 

j'ai commencé casteyde  :o  
 
Le pire c'est que j'ai les bases mais je m'en souviens plus trop bien [:sisicaivrai]

n°468394
Taz
bisounours-codeur
Posté le 26-07-2003 à 12:12:26  profilanswer
 

polo021 a écrit :

j'ai commencé casteyde  :o  
 
Le pire c'est que j'ai les bases mais je m'en souviens plus trop bien [:sisicaivrai]

t'es balaise dans l'antiphrase

n°468395
tchoupinet​te
Posté le 26-07-2003 à 12:12:30  profilanswer
 

polo021 a écrit :

j'ai commencé casteyde  :o  
 
Le pire c'est que j'ai les bases mais je m'en souviens plus trop bien [:sisicaivrai]


 
Moi je dis rien car moi je suis censée les avoir mais c pas tout à fait ca ...  :sarcastic:


---------------
http://membres.lycos.fr/axelfa
n°468398
polo021
Posté le 26-07-2003 à 12:22:19  profilanswer
 

Je suis un boolay
 
C'est tout simplement ca que tu voulais que je fasse?

Code :
  1. #include "stdafx.h"
  2. #include "Classe1.h"
  3. int main(int argc, char* argv[])
  4. {
  5. CClasse1 c1(1,2.5);
  6. return 0;
  7. }
  8. ----------------------------------------
  9. #include "Classe2.h"
  10. class CClasse1 
  11. {
  12. public:
  13. CClasse1();
  14. CClasse1(int, float);
  15. int entier;
  16. float reel;
  17. virtual ~CClasse1();
  18. CClasse2 c2;
  19. };


 

Constructeur CClasse2 par defaut
Constructeur CClasse1 (int, float)
Destructeur CClasse1
Destructeur CClasse2


Message édité par polo021 le 26-07-2003 à 12:22:59
n°468399
Taz
bisounours-codeur
Posté le 26-07-2003 à 12:24:21  profilanswer
 

oui, maitenant compare la différence entre

Code :
  1. Classe1():
  2. c2(truc)
  3. {}
  4. // et
  5. Classe1()
  6. {
  7.   c2=truc;
  8. }


Message édité par Taz le 26-07-2003 à 12:26:51
mood
Publicité
Posté le   profilanswer
 


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

  AddScript

 

Sujets relatifs
Plus de sujets relatifs à : AddScript


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)