CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

(c++) Classe et pointeurs

lag-it
lag-it
Niveau 10
26 mai 2005 à 19:37:40

Je devient fou :fou:

Dans un projet, j´ai une classe Classe1 qui en contient une instance d´une autre classe Classe2, et j´aimerai que Classe2 comporte un pointeu vers un Classe1 que je puisse iitialiser avec le this de l´objet instancié de Classe1 pour pouvoir accéder à certaines fonctions.

Le problème, c´est qu´en ne faisant qu´inclure le fichier header contenant la déclaration de Classe1 dans le fichier déclarant Classe2 et en ajoutant un membre " Classe1 *parent", visual studio me sort 10 erruers comme quoi l´identificateur n´est pas défini, etc...

Je vois vraiment pas pourquoi...

Blyzard
Blyzard
Niveau 9
26 mai 2005 à 19:44:00

[Hors Sujet] Apres t´avoir lu , moi aussi je devient fou :fou: [/Hors Sujet]

Sinon dsl je ne suis pas un expert en Programmation :´(

Ruffi
Ruffi
Niveau 9
26 mai 2005 à 19:49:16

t´a besoin de la definition de la classe A pour definir la classe B, et inversement.

Une solution pour eviter ça, c´est de declarer ta classe dans le . h, sans inclure le fichier :

class Classe1;

class Classe2{
. ..
Classe1 *ptr;
. ..
};

C´est un pointeur, tu ne l´utilise pas ( dumoins dans le . h) : il n´a pas besoin de savoir la definition exacte de la classe.

Ensuite, tu inclue " Classe1.h" dans " Classe2.cpp"
Et tu fait de meme pour l´autre classe

J´espere m´etre fait comprendre :)

lag-it
lag-it
Niveau 10
26 mai 2005 à 19:53:07

Ruffi tu me sauves la vie ! !! :)

J´utilisait effectivement " class Classe1;" , mais j´incluais quand même le point . h, d´où les messages d´erreurs de visual studio.

Raaah j´étais prêt à mettre mon code à la poubelle, merci :-d

Fenix[74]
Fenix[74]
Niveau 10
26 mai 2005 à 20:25:47

nan ca va c´est pas tres compliqué, mais par contre je crois qu´on doit pouvoir résoudre ton probleme avec l´operateur de portée.

Fenix[74]
Fenix[74]
Niveau 10
26 mai 2005 à 20:26:57

Ouais non en fait j´ai dit une connerie je crois

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment