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 :

Fonction avec accès a tous ??


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut Fonction avec accès a tous ??
    Bonjour a tous,
    j'aimerais savoir si c'est possible de creer une fonction en dehors de mes classes mais tout en étant utilisable par celles ci, je m'explique:

    j'ai une classe A avec un int en private.
    La fonction que je voudrais créer en dehors de la classe prend un int en parametre et me ressort un vector<int> . Pour faire simple a partir de l'int d'entrée il me ressort ses coordonnées.

    Le problème c'est que j'ai besoin de me servir de cette fonction dans d'autres classes et il n'y a pas d'heritage entre mes classes.

    Savez vous comment je peux faire ?
    Dois je mettre la fonction en dehors des classes ou existe t-il quelque chose qui me permettrais d'acceder a ma fonction qui serais dans ma classe A mais utilisable par la classe B ou C? ???

    Merci beaucoup

  2. #2
    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
    Qu'est-ce qui te pose problème avec le fait de la déclarer en dehors de toute classe ? Ca se fait très bien, il n'y a aucune feinte.

  3. #3
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Par défaut
    Tu peux déclarer ta fonction en dehors de la classe et fournir à la classe des accesseurs et des modificateurs ou alors mettre ta fonction en "amie" dans chaque classe.

  4. #4
    Membre éclairé Avatar de vdumont
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 510
    Par défaut
    Tu pourrais aussi te faire une classe avec des fonctions statiques et l'appeler en faisant


    NomDeLaClasse::Fonction(unEntier);

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 21
    Par défaut
    ok merci pour votre aide je pense que je vais faire la méthode de vdumont.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 109
    Par défaut
    Perso j'ai fait une structure dans laquelle j'ai mis toutes mes fonctions utilitaires en friend que j'inclus systématiquement.

    Avant j'avais déclaré ces fonctions en dehors de classes et malgré des inclusions conditionnelles je me retrouvais toujours avec des 'multiples définition of ...'
    Depuiscette structure, plus de problèmes.

    Regarde aussi du côté des espaces de noms (j'en suis pas un fan ) pour éviter ce genre de désagréments.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Accès à listview dans une fonction avec borland builder 5
    Par xasmxasm dans le forum C++Builder
    Réponses: 4
    Dernier message: 13/05/2008, 20h16
  3. Réponses: 3
    Dernier message: 05/09/2006, 00h47
  4. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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