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

 


Dernière réponse
Sujet : [C++] Comment feriez-vous dans cette situation?
El_gringo Ou alors, une classe interne. Tu défini ta classe fille dans la définition de ta classe mère, genre:
 
class CClassMere
{
 
public:
  ...
 
private:
  class CClassFille
  {
  public:
  ...
  private:
  ...
  }
}
 
Bien sur, tu pourrais aussi bien déclarer CClassFille comme membre public de CClassMere.
 
De cette façon, je crois que les 2 classes ont accès à ts les membres de chaque classe.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
El_gringo Ou alors, une classe interne. Tu défini ta classe fille dans la définition de ta classe mère, genre:
 
class CClassMere
{
 
public:
  ...
 
private:
  class CClassFille
  {
  public:
  ...
  private:
  ...
  }
}
 
Bien sur, tu pourrais aussi bien déclarer CClassFille comme membre public de CClassMere.
 
De cette façon, je crois que les 2 classes ont accès à ts les membres de chaque classe.
Rob Roy dans ta declaration de classe X tu rajoute,
friend class Y;
 
sinon selectionne friend, et appuie sur f1 c expliqué en general!

 

[jfdsdjhfuetppo]--Message édité par Rob Roy--[/jfdsdjhfuetppo]

Alload

legreg a écrit a écrit :

 
Une fonction friend ou les methodes d'une classe
friend peut acceder
aux membres prives d'une classe qui l'a
declaree comme friend.


Si j'ai bien compris, la classe Y déclarée comme friend dans la classe X pourra utiliser les variables de X mais X ne pourra pas utiliser les variables de Y?
 
Si c'est ça, c'est ce qu'il me faut, donc comment déclarer une classe Y friend dans une classe X?

LeGreg

Alload a écrit a écrit :

Comment on déclarer une classe friend dans une autre classe?
De plus, que veut réellement dire friend? Qu'elles auront en commun les mêmes variables, ou juste les mêmes définitions de variables?  




ni l'une ni l'autre.
 
Une fonction friend ou les methodes d'une classe
friend peut acceder
aux membres prives d'une classe qui l'a
declaree comme friend.
(l'inverse n'est pas vrai: tu n'as pas le droit
d'acceder aux membres prives d'une classe
en la declarant toi-meme amie.)
 
LEGREG

Alload Comment on déclarer une classe friend dans une autre classe?
 
De plus, que veut réellement dire friend? Qu'elles auront en commun les mêmes variables, ou juste les mêmes définitions de variables?
Alload :lol: C'est quand même pas sorcier ce que j'aimerais faire, initialiser un objet dans une classe, objet qui pourra utiliser les variables de ladite classe sans passer par un pointeur. Quand je dit utiliser c'est pas juste hériter des variables de la classe, c'est pouvoir accèder à celles-ci.
deathsharp :heink:  
ca ressemble a po grand chose
Alload Bon je comprends l'idée mais comment la mette en oeuvre, prenons un exemple:
 
class CPere
{
public:
void DireLaTailleDeSaFamille() {cout << nNombreDeGensDansLaFamille << endl;}
};
 
class CFamille
{
int nNombreDeGensDansLaFamille;
CPere pere;
};
 
 
Voilà, c'est théorique car ça marcherait pas, mais vous comprenez l'idée.

 

[jfdsdjhfuetppo]--Message édité par Alload--[/jfdsdjhfuetppo]

deathsharp t sur de ta conception la :heink:
SoWhatIn22 Tu peux déclarer les classes comme étant friend les unes des autres.
class B;
class A
{
    // ...
private:
    friend class B;
};
 
class B
{
    // ...
private:
    friend class A;
 
};
 
Dans cette situation, la classe A a un acces total à la classe B et inversement. C'est pas très beau, mais ca fait exactement ce que tu demandes...
 
a+
Alload Oui ça je sais, mais comment faire pour que les objets filles puissent utiliser les variables private ou protected de la classe où elles se trouvent?
deathsharp :heink:  
la classe base devra appeler les fonctions des classes filles ?
donc cree des obj fille ? :heink:
Alload Voici la situation: je dispose d'une classe hébergeant plusieurs variables vitales au fonctionnement de mon programme, et j'aimerais lui lier le plus simplement possible des classes filles qui auront accès à ces variables (pas seulement un héritage de la classe principale, un vrai accès à ces données). La classe principale devra aussi avoir accès aux fonctions de ces classes filles.
 
Quelles sont les solutions à ce problème?

 

[jfdsdjhfuetppo]--Message édité par Alload--[/jfdsdjhfuetppo]


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