Other languages > GLBasic - es
Devolver parametros de cualquier tipo... no enteros o float.
(1/1)
mentalthink:
Hola compis como va eso, :good:
Os quería comentar esto, aunque supongo que ya lo sabreís , pero a mi me resulto interesante cuando lo probé... El asunto es que ando aprendiendo C++, y seguramente como sabéis permite devolver cualquier tipo de valor, en el código que he puesto, aunque es un poco flipe, porque dudo mucho que sea nivel de ASM un Constructor y un Destructor, en el Main podeis ver como puedes devolver valores de las funciones miembro... Fuera de una Strctura no funciona, solo se puede con INT, String o lo que sea...
Solo lo quería comentar por mera curiosidad, no es que venga a dar lecciones de conocimientos a nadie, pero me ha parecido curioso que GLbasic a parte de esta tenga tantas similitudes directas con C++, no como AGK que la verdad me recuerda un poco a JAVA, algo dónde está todo metido con cientos y cientos de comandos.
Bueno pues solo eso, y de paso saludar... que no decís ni mu.
--- Code: (glbasic) ---TYPE tParticle
axis[3] AS int
FUNCTION tParticleConstructor AS tParticle:
DEBUG "Constructor: " + "\n"
ENDFUNCTION
FUNCTION tParticleDestructor AS tParticle:
DIM self.axis[0]
DEBUG "Memory Free: " + "\n"
DEBUG "LEN : " + LEN(self.axis) + "\n"
ENDFUNCTION
ENDTYPE
LOCAL myParticle AS tParticle
myParticle.tParticleConstructor()
myParticle.tParticleDestructor()
WHILE TRUE
SHOWSCREEN
WEND
--- End code ---
hardyx:
Siento responder tarde, no había visto el tema.
Está bien para simular constructores y destructores en GLB, obviamente no son los de C++ porque GLB no tiene esto, para ello habría que crear código inline. Pero no hace falta devolver el propio objeto si no se va a usar el resultado, ya que puedes cambiar el propio objeto, a no ser que quieras usarlas en asignaciones o de otra forma.
P.D. Los constructores y destructores de C++ no tienen tipo, si tuvieran sería void.
Saludos
--- Code: (glbasic) --- FUNCTION Constructor:
DEBUG "Constructor: " + "\n"
ENDFUNCTION
FUNCTION Destructor:
DIM self.axis[0]
DEBUG "Memory Free: " + "\n"
DEBUG "LEN : " + LEN(self.axis) + "\n"
ENDFUNCTION
--- End code ---
mentalthink:
Gracias Hardyx, no recordaba que los constructores son void en C++, tiene tantas cosas esté lenguaje que a veces es un follón.
Por lo de responder tarde no te preocupes, me parece que solo quedamos tú y yo de españoles, y no es que yo entré tanto como antes.
Saludotes.
Navigation
[0] Message Index
Go to full version