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

Prototype de class ?

solid-snake-84
solid-snake-84
Niveau 8
16 septembre 2011 à 13:29:08

Bonjour à tous.

Alors voilà pour éviter les long discourt, je vais vous exposer un exemple de ma question :

voici deux class dans un .h :

class voiture
{
private:
...
...
public:
ma_fonction_one(pneus);
};

class pneus
{
private:
...
...
public:
ma_fonction_two(voiture);
};

On remarque que dans ces deux class on fait appel à l'autre class, c'est à dire que dans la fonction_one de la class voiture je fais appel à la class pneus, et inversement.

Problème :
En faisant ceci, il y a une erreur de compilation étant donné que le programme s’exécute de haut en bas, et donc il ne vas pas connaitre la class pneus, si on inverse l'ordre des class, même chose, il ne connaitra pas voiture.

Ma question :

Est-il possible de créer un prototype de fonction pour les class ?
C'est à dire que dans un .h on va mettre : void ma_fonction(int x, int y);
Mais est ce qu'on peut faire la même chose en début du .h pour les class ?
C'est à dire mettre un truc du genre : class::pneu();
Pour que le programme connaisse directement l’existence de toutes les class.

Parce que une solution me direz-vous est de créer une seule class dans chaque .h et ensuite d’inclure les .h dont on a besoin en début de programme, mais j'ai créé une dizaine de class dans un seul .h. Du coup pour éviter de tout déplacer, ça serait super s'il existait un moyen pour contourner cette erreur.

Très cordialement.

_Sheep_
_Sheep_
Niveau 10
17 septembre 2011 à 21:29:39

En java ce que je fais (Attention, je ne sais pas si c'est propre, mais ça marche :hap: )

class Voiture {
Private Pneus pneu;

ma_fonction_one(pneus);
}

class Pneus
Private Voiture voiture;
ma_fonction_two(); //constructeur sans parametre voiture

setVoiture(Voiture voiture) {
this.voiture = voiture;
}

et après dans le main je fais
Pneus p1 = new Pneus();
Voiture v1 = new Voiture(pneu);
p1.setVoiture(v1);

Du coup le pneu à une voiture, et la voiture à un pneu, mais je me demandais d'ailleur si il n'y avait pas plus propre pour que les deux classe aient la visibilité :(

Et je sais pas si j'ai été clair :fou:

solid-snake-84
solid-snake-84
Niveau 8
18 septembre 2011 à 15:34:49

Dans les deux class la fonction one et two sont juste des fonction basique, de type void par exemple.
Par contre tu utilise le pointeur this apparemment, il est vrai que je l'utilise pas encore celui là, du coup je sais pas à quoi il sert, faut que j'aille me renseigner sur son utilité. Du coup setVoiture c'est une fonction c'est bien ça ?

Cependant j'ai trouvé une solution mais qui à mon avis doit créer des erreurs :
Par exemple en début de .h j'écris :

class voiture;
class pneus;

et ensuite j’écris mes class voiture et pneus. Du coup le programme les connait dès le début de la lecture du .h.
Mais du coup je sais pas si ça cause pas des erreurs. J'avais essayé et ça semblait marcher, mais ça me parait bizarre tout de même.

String[]args
String[]args
Niveau 23
18 septembre 2011 à 16:06:47

Sépare tout proprement au lieu d'écrire des trucs affreux qui veulent rien dire et de tout foutre dans un .h qui doit être bordélique au possible... :noel:

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