View Single Post
Old 18-12-2006, 17:18   #1
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Domanda idiota c++... confusione con gli header

Salve,
sto cercando di programmare un gioco in c++ usando OGRE.
Il problema è che come al solito nn riesco ad includere tutti gli header senza che non debba includerne uno 2 volte... allora...cerco di spiegarmi :

Codice:
     <object.h>  
-Class Object- con le variabili genrali, la fisica ecc. 
      <weapon.h>  
-class Weapon : public Object- che sono le armi.  
-class WeaponConfig : protected weapon-, dove sono salvate le impostazioni di un arma.
      <player.h>  
-class Player : public Object-, che sarebbero i personaggi.  
-class PlayerConfig : protected Player-.    
Poi per amministrare e creare il tutto ho: 
      <objectManager.h>  
-class ObjectManager -
Tutti gli header contengono solo definizioni delle funzioni in un *.cpp.

Quindi mi vengono fuori 2 problemi:
tutti i parametri di impostazione sia di Object che di Weapon sono protected, quindi visto che ObjectManager deve settarli in WeaponConfig ho pensato di impostarlo come suo friend.
Mi pare brutto sia fare 1 metodo per ogni parametro per ricavarli singolarmente (cosa che mi serve), sia metterli tutti public.
Purtroppo non posso includere objectmanager.h in weapon.h perchè weapon.h è incluso in objectmanager.h....

Anche se risolvessi poi c'è il secondo problema:
nn potrei includere sia player.h che weapon.h in objectmanager.h visto che entrambi i primi due includono object.h che quindi sarebbe duplicato... ma a quelli la definizione di object serve... come serve quella di weapon e Player a ObjectManager... BOH!

Spero che qualcuno abbia capito cosa ho cercato di comunicarvi visto che sta roba nn è chiara nemmeno a me ... grazie in anticipo... e nn esitate a chiedere spiegazioni...
Tommo è offline   Rispondi citando il messaggio o parte di esso