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

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Accès à une donnée protected

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Accès à une donnée protected

n°742372
Bleuarff
pouet
Posté le 27-05-2004 à 22:47:33  profilanswer
 

Voila le problème: j'ai une classe CPileFIfo dérivée (public) de la classe CBasePile. la fonction pour empiler un element est en virtuelle pure, car elle doit servir pour une pile fifo ou une filo.
 

Code :
  1. void CPileFifo::operator <(const int i){
  2. CBasePile *p=NULL;
  3. CPileFifo *q=NULL;
  4. p=this;
  5. while (p->getSuiv()!=NULL){
  6.  p=p->getSuiv();//pour acceder au suiv de la classe CBasePile
  7. }
  8. // q=p;
  9. q=new CPileFifo;
  10. if (q!=NULL){//si allocation reussie
  11.  q->champ=i;//initialisation du nouvel element
  12.  q->suiv=NULL;
  13. //  p=p->getSuiv();
  14. //  p=q;
  15.  p->suiv=q; }
  16. }


 
Visual me fait une erreur C2248: 'suiv' : cannot access protected member declared in class 'CBasePile' à la ligne p->suiv=q . Je comprends pas pourquoi ni comment y remedier. Zavez une idée ?


Message édité par Bleuarff le 27-05-2004 à 22:55:32

---------------
©2008 Bleuarff Corp.
mood
Publicité
Posté le 27-05-2004 à 22:47:33  profilanswer
 

n°742539
Taz
bisounours-codeur
Posté le 28-05-2004 à 07:14:05  profilanswer
 

void CPileFifo::operator <(const int i)
 
 
aurevoir
 
le type de retour est pas bon, y a pas de const sur this, et plutot que d'écrire ça, il te faut écrire un constructeur qui prend un int de argument. commence par ça


Message édité par Taz le 28-05-2004 à 07:14:55
n°742540
Taz
bisounours-codeur
Posté le 28-05-2004 à 07:17:30  profilanswer
 

du reste comme tu nous montre rien ...

n°742597
Ace17
Posté le 28-05-2004 à 09:03:52  profilanswer
 

Une pile fifo ca s'appelle une queue ou une file ( une pile est, par définition lifo )

n°742601
Ace17
Posté le 28-05-2004 à 09:09:40  profilanswer
 

Bleuarff a écrit :


Visual me fait une erreur C2248: 'suiv' : cannot access protected member declared in class 'CBasePile' à la ligne p->suiv=q . Je comprends pas pourquoi ni comment y remedier. Zavez une idée ?


Apparament le compilo n'a pas compris que le code de ta fonction était membre de ta classe CPileFifo. Essaie d'appeler directement une fonction membre de CPileFifo dans le code de ta fonction opérateur, et regarde si ca marche.

n°742632
Taz
bisounours-codeur
Posté le 28-05-2004 à 09:36:51  profilanswer
 

moi je veux voir le code de la définition

n°747268
Bleuarff
pouet
Posté le 01-06-2004 à 13:32:00  profilanswer
 

Alors voila la def de la classe CPileFifo:

Code :
  1. #include "CBasePile.h"
  2. class CPileFifo:public CBasePile{
  3. public:
  4. void operator <(const int);
  5. };


 
celle de la classe CBasePile:

Code :
  1. #include <iostream>
  2. using namespace std;
  3. #include <stdlib.h>
  4. class CBasePile{
  5. protected:
  6. int champ;
  7. CBasePile *suiv;
  8. public:
  9. CBasePile();
  10. CBasePile* getSuiv();
  11. virtual void operator <(const int)=0;
  12. void operator >(int &i);
  13. };


 
Ca vous aide ?
 
Taz> un constructeur je veux bien, mais il me faut bien une fonction pour empiler un element.
Ace>une pile fifo est une file je sais bien, mais je respecte les noms qu'on me donne dans l'énoncé du tp :o.


---------------
©2008 Bleuarff Corp.
n°747307
Bleuarff
pouet
Posté le 01-06-2004 à 13:51:06  profilanswer
 

problème résolu avec un accesseur au champ suiv dans CBasePile.

Code :
  1. void CBasePile::setSuiv(CBasePile* suiv){
  2. this->suiv=suiv;
  3. }


---------------
©2008 Bleuarff Corp.

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

  [C++] Accès à une donnée protected

 

Sujets relatifs
help!!!!!(mise à jour d'une base de donnée)De Acces à SQL server: problème de requête Helpppppppppppp!!!
Migration d'une base de donnée ACCESS vers Oracleawk et base de donnée
[RESOLU][SQL] Recuperer une donnee qui vient d'etre updatéComment detecter si une carte son est installé avec acces???
Tri par ordre alphabetique d'un champ dans une base de donnéeCompteur de visites par visiteur et blocage d'accès
[php] Controler acces intranet par mot de passe Windowsacces à certaines variables définies dans une IDL ...
Plus de sujets relatifs à : [C++] Accès à une donnée protected


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