IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Es ce possible de faire des inner class en C++?


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    16
    D�tails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 16
    Par d�faut Es ce possible de faire des inner class en C++?
    bonjour,
    je fait un peu de java et la je dois faire un petit truc en cpp.
    J'aimerai savoir s'il est possible de faire une classe imbriqu� en c++?
    Si oui comment parceque tout ce que j'ai essay� a pas l'air de marcher.

    Merci

  2. #2
    mat.M
    Invit�(e)
    Par d�faut
    ????
    A priori oui on peut parfaitement d�clarer une classe � l'int�rieur d'une autre

  3. #3
    Inactif  

    Homme Profil pro
    Ing�nieur test de performance
    Inscrit en
    D�cembre 2003
    Messages
    1 986
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur test de performance
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 986
    Par d�faut
    Montres-nous ce que tu as fait, ce sera plus facile de t'aider.

  4. #4
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Si je me souviens bien il y a une diff�rence entre les deux types d'inner class.
    En C++, il n'y a d'acc�s privil�gi� aux membres priv�s de la classe englobante, ni de lien privil�gi� entre une instance de l'inner class avec une instance de la outer class.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  5. #5
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Citation Envoy� par Luc Hermitte
    En C++, il n'y a d'acc�s privil�gi� aux membres priv�s de la classe englobante, ni de lien privil�gi� entre une instance de l'inner class avec une instance de la outer class
    Pourtant ce code compile avec VC7.1

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    struct Outer
    {
        struct Inner
        {
            void F(Outer& O)
            {
                O.Private = 24;
            }
        };
     
    private :
     
        int Private;
    };
     
    int main()
    {
        Outer Out;
        Outer::Inner In;
        In.F(Out);
     
        return 0;
    }
    Il serait interessant de savoir ce qu'en dit la norme, car il est vrai que ce genre de comportement diff�re beaucoup d'un compilo � l'autre.

  6. #6
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Au 1er alin�a du � 11.8 je lis:
    Citation Envoy� par ISOIEC14882-1998
    The members of a nested class (*) have no special access to members of an enclosing class, nor to classes or functions that have granted frienship to an enclosing class; the usual access rules (clause 11) shall be obeyed. The members of an enclosing class have no special access to members of a nested class; the usual access rules (clause 11) shall be obeyed.
    Bref, VC++ 7.1 nous �pargne un friend.

    (*) nested class est le terme C++ pour les classes imbriqu�es
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. Est il possible de faire des border raduis avec Internet Explorer
    Par Alpha14 dans le forum Mise en page CSS
    R�ponses: 5
    Dernier message: 23/02/2010, 17h02
  2. R�ponses: 3
    Dernier message: 22/07/2009, 12h04
  3. Est-il possible de faire des classes autoinstanci�es ?
    Par All Jinx dans le forum D�buter
    R�ponses: 7
    Dernier message: 22/08/2008, 17h36
  4. R�ponses: 1
    Dernier message: 11/09/2007, 16h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo