Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-01-2008
Ziara Ziara is offline
Miembro
 
Registrado: dic 2007
Posts: 43
Poder: 0
Ziara Va por buen camino
Como definir una class

Hola a todos,

tengo que pasar un código en c++ al builder, la última parte del código en cuestión tiene una función (viene ya definida en una libreria) que uno de sus parámetros llama a otra función fuera del main, me explico con un ejemplo:

main()
{
...
FuncionDefinida(x,y,FuncionFueraMain);

return 0;
}

void FuncionFueraMain(...parametros...)
{
...
}

Port tanto, creo una class en un Unit, pero cómo lo defino?, Defino las dos funciones por separado en un mismo class y cómo paso la FuncionFueraMain como parámetro de FuncionDefinida que a la vez está dentro de una funcion?
Espero que lo que he escrito sea entendible..

gracias
Responder Con Cita
  #2  
Antiguo 10-01-2008
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Pues yo no lo veo muy entendible.

En C++ las clases se definen así:
Código:
/* Archivo de cabecera "miclase.hpp" */
class ESTA_ES_LA_CLASE:public CLASE_BASE
{
public:
  void metodo (int parametro);
};
_________________________________________________________________________
/* Archivo fuente "miclase.cpp. */

#include "miclase.hpp"

void ESTA_ES_LA_CLASE::metodo (int parametro)
{
  /* Código */
}
Pasar funciones (en realidad, la dirección de una función) es algo más complejo, pero si no sabes de punteros mal lo vas a entender:
Código:
/* Definición del tipo "puntero a función". */
typedef void (*TIPO_FUNCION) (int);

/* Prototipo de la función que queremos pasar como parámetro. */
void funcion_a_pasar (int parametro);

/* Prototipo de la función que recibe. */
int funcion_que_recibe (TIPO_FUNCION fn);

/* Código ejecutable. */
int main (void)
{
  if (funcion_que_recibe (&funcion_a_pasar) == 0)
    throw "Error";
  return EXIT_SUCCESS;
}
¿Te sirve para aclarar dudas o te crea nuevas?
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 10-01-2008 a las 09:32:35.
Responder Con Cita
  #3  
Antiguo 11-01-2008
Ziara Ziara is offline
Miembro
 
Registrado: dic 2007
Posts: 43
Poder: 0
Ziara Va por buen camino
gracias, no lo tengo muy claro, lo miraré con más calma a ver que tal
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como definir Funciones Globales destrukthor Varios 4 07-07-2006 14:12:18
Como definir un campo Memo manuelpr Conexión con bases de datos 4 12-04-2005 20:01:45
como encontrar una class? unko! Internet 4 15-03-2005 01:05:10
Como puedo definir un semaforo en mi aplicación Delphi?? burasu SQL 1 21-06-2004 19:22:08
Como definir la impresora en rave 5? danytorres Impresión 0 23-10-2003 20:08:30


La franja horaria es GMT +2. Ahora son las 08:34:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi