elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: por que en algunos archivos de encabezados crean clases imcompletas en: 31 Octubre 2017, 16:54 pm
antes q nada muchas gracias x responder.

Una clase se puede declarar o definir o ambas.
Si solo pones el nombre sin especificar como esta definida, se trata de la declaracion.
Solo requieres un nombre, en ese momento. En alguna parte de tu programa tiene que estar esa variable definida, sino el programa no va a linkear.

Solo es posible definir punteros a los tipos declarados. Esto es posible, pues al compilador solo le interesa conocer el tamano de los datos y el tamano de los punteros no depende de los datos apuntados, es constante.

Si modificaras el programa y removieras el * y en vez de puntero fuera un campo de ese tipo, el compilador no va a aceptar la declaracion pues no tiene manera de calcular el tamano.


listo ahi entendi, pero tengo una duda nueva
por que simplemente no incluyen el archivo de encabezado de la clase InteractComponent?
disculpa si soy muy molesto
2  Programación / Programación C/C++ / por que en algunos archivos de encabezados crean clases imcompletas en: 30 Octubre 2017, 22:27 pm
Hola gente quisiera saber por que en algunos archivos de encabezados crean clases imcompletas.

aca un ejemplo.
Código
  1. #pragma once
  2.  
  3. class InteractComponent; // <------ a esto me refiero con clase incompleta.
  4.  
  5. class LeverTile final : public LevelDynamicTile {
  6. public:
  7. LeverTile(LevelScreen* levelScreen);
  8.  
  9. //.....
  10. //.....
  11. private:
  12. // the lever can only be used by hand if the main char is in this range.
  13. // it is however always possible for a telekinesis spell to activate the lever if its projectile reaches the lever.
  14. static const float ACTIVATE_RANGE;
  15. std::vector<LeverDependentTile*> m_dependentTiles;
  16. bool m_isGround = false;
  17. bool m_isTelekinesisLocked = false;
  18. InteractComponent* m_interactComponent;
  19. };

si se fijan la clase InteractComponent esta incompleta.
tambien crea un puntero de tipo InteractComponent.

desde ya muchas gracias a todos  y disculpen si no me explico bien ya q soy nuevo en c++.


· Los títulos deben ser descriptivos
>aquí las reglas del foro
-Engel Lex
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines