OVH Cloud OVH Cloud

problème de conception

2 réponses
Avatar
Geoffroy Baud
Bonjour,


dans une classe mere comme suivante
j aimerais que les classe qui herite
de celle-ci puisse accedé a un champs
de la struct BAR depuis une des implementation
des fonctions virtuel pure, sans pour autant
que ma classe fille herite en private de la
classe mere.

class foo
{
public:
foo();
~foo();
setFoo();
getFoo();
virtual void toto (int *fd)=0;
virtual void momo (int *fd)=0;
private:
struct BAR
{
int *s;
char *b;
int *d;
}bar;


}

je pensais donc copier dans un poiteur public l addresse du
champs de BAR qui m interesse.
mais cela me fais me poser quelque question au nivaux de
l'implementation meme de la classe ...

merci


--
-------------------------------------------------------------------
Geoffroy Baud geoffroy.baud@wanadoo.fr
0AE5 7A1B 527D 3966 8EBE 2EC0 AA79 EB54 7D7D 7CEC
-------------------------------------------------------------------

2 réponses

Avatar
Arnaud Meurgues
Geoffroy Baud wrote:

dans une classe mere comme suivante
j aimerais que les classe qui herite
de celle-ci puisse accedé a un champs
de la struct BAR depuis une des implementation
des fonctions virtuel pure,


Alors pourquoi ne pas déclarer bar protected ?

sans pour autant
que ma classe fille herite en private de la
classe mere.


L'héritage privé ne permettra pas d'accéder aux membres privés de la
classe mère. Il interdira simplement à l'interface de la classe mère
d'être visible pour un utilisateur de la classe fille.

Arnaud

Avatar
Geoffroy Baud
Arnaud Meurgues wrote:

Geoffroy Baud wrote:

dans une classe mere comme suivante
j aimerais que les classe qui herite
de celle-ci puisse accedé a un champs
de la struct BAR depuis une des implementation
des fonctions virtuel pure,


Alors pourquoi ne pas déclarer bar protected ?

sans pour autant
que ma classe fille herite en private de la
classe mere.


L'héritage privé ne permettra pas d'accéder aux membres privés de la
classe mère. Il interdira simplement à l'interface de la classe mère
d'être visible pour un utilisateur de la classe fille.

Arnaud


Oups ... Merci je n i avais pas pensé .
--
-------------------------------------------------------------------
Geoffroy Baud
0AE5 7A1B 527D 3966 8EBE 2EC0 AA79 EB54 7D7D 7CEC
-------------------------------------------------------------------