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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 125
121  Programación / Programación C/C++ / Re: AYUDA: problema con funcion miembro de clase en: 12 Diciembre 2014, 20:15 pm
Y tan complicado es almacenar el puntero a la clase en vez del puntero a la función??

Si tienes que hacer artificios así, te lo repito, es porque esa función debería ser estática... que te salen errores en otros métodos??? bueno, lo mismo también deberían ser estáticos.

En serio, hacer una migración a clases... pero haciendo que el código sea el mismo que cuando no había clases no tiene demasiado sentido.
122  Programación / Programación C/C++ / Re: QT licencias en: 12 Diciembre 2014, 12:56 pm
Siempre puedes programarte tus propios widgets :)
123  Programación / Programación C/C++ / Re: AYUDA: problema con funcion miembro de clase en: 12 Diciembre 2014, 09:30 am
ok ok, yo el planteamiento que te he dicho parte del desconocimiento más absoluto del código con el que estás trabajando. Obviamente sin tener código es difícil dar soluciones concretas.

En cualquier caso, que te sea breve :)

Un saludo.
124  Programación / Programación C/C++ / Re: AYUDA: problema con funcion miembro de clase en: 12 Diciembre 2014, 09:14 am
Código
  1. class FOO
  2. {
  3. public:
  4.  
  5.  void func1( )
  6.  {std::cout << "func1" << std::endl;
  7.  
  8.  void func2( )
  9.  { func3( ); }
  10.  
  11.  void func3( )
  12.  { std::cout << "func3" << std::endl; }
  13. };

En este ejemplo, tanto func1 como func3 pueden pasar a ser estáticas sin ningún problema, ya que no arrastran dependencias a miembros no estáticos.

Sin embargo, para pasar "func2" a estática sería necesario hacer "func3" también estática, ya que func2 depende de "func3" y una función estática no puede acceder directamente a los miembros no estáticos de una clase.
125  Programación / Programación C/C++ / Re: AYUDA: problema con funcion miembro de clase en: 12 Diciembre 2014, 08:45 am
Migrar aplicaciones siempre es complicado y, por experiencia, considero un error intentar que la migración reproduzca de forma totalmente fiel la arquitectura anterior.

El problema que se suele producir es que el código acaba siendo poco amigable, ya que cada lenguaje tiene sus propias características y cosas que en un lenguaje se hacen de una forma, en otro deben hacerse de forma totalmente diferente. Esto hace que aparezcan estructuras raras y poco claras que acaban dando problemas.

Si el código va a acabar siendo el mismo entonces no vas a obtener ninguna ventaja por la migración.

Mi consejo es que las partes feas como estas reciban un repaso y se refactoricen como es debido. Se que al final es como todo, hay dinero de por medio que limita el alcance de todo proyecto, pero una arquitectura bien hecha reduce muchísimo el mantenimiento futuro... es elegir entre pagar un poco más hoy o un mucho más mañana.
126  Programación / Programación C/C++ / Re: AYUDA: problema con funcion miembro de clase en: 12 Diciembre 2014, 07:45 am
A ver, los punteros a funciones miembro no funcionan exactamente igual que los punteros a funciones que, imagino, estás acostumbrado a usar.

Código
  1. class POO
  2. {
  3.  public:
  4.    int funcion( );
  5. }

Si yo creo 20 instancias de la clase que he declarado encima de esta línea, en el código no voy a encontrar 20 copias de "funcion". Únicamente habrá una y será compartida por todas las instancias de "POO". Esto quiere decir que, aunque tu veas que la firma de la función es, símplemente, "int funcion( );", internamente esta función ha de recibir un puntero que apunte a la instancia de "POO" sobre la que tiene que trabajar.

El ejemplo que tu has puesto te podría servir, con algún retoque, para referenciar funciones miembro estáticas, pero no te sirve para funciones miembro dependientes de la instancia. Si quieres acceder a una función no estática necesitas facilitar una instancia de FOO válida.

Lo que pretendes hacer tiene mejores soluciones:

* Guardas simplemente un puntero a "MiClase" en la estructura.
* Haces que "funcion1" sea estática, dado que no accede a elementos no estáticos de la instancia "no vas a tener problemas
* Te replanteas el diseño. Esta opción es la recomendada salvo que estés haciendo una práctica. Este tipo de códigos complican muchísimo el mantenimiento de una aplicación.
127  Programación / Programación C/C++ / Re: QT licencias en: 12 Diciembre 2014, 07:25 am
Si te descargas la modalidad GPL tranquilo que no va a incluir las opciones de pago.

No tendrás que preocuparte por si lo que vas a incluir en tu aplicación es código bajo licencia comercial o libre :)
128  Programación / Programación C/C++ / Re: Lista Simplemente enlazada ayuda en: 11 Diciembre 2014, 07:29 am
Si quieres que una lista simplemente enlazada se convierta en circular basta con que "cierres" la lista, es decir, haz que el puntero del último elemento de la lista apunte al primero y listo.

Un saludo.
129  Programación / Programación C/C++ / Re: Error en c++ en: 11 Diciembre 2014, 07:26 am
Código
  1. int /* ... */ total, sel;
  2.  
  3. // ...    
  4.  
  5. for (cont = 1; cont <= 2; cont++)
  6. {
  7.  printf ("El empleado %d selecciona: \n", i);
  8.  total [cont] = 0;
  9.  

"total" lo estás declarando como un entero, no como un array. El uso que haces de la variable en la última línea del código que te he rescatado no es válido (y no es el único).

Un saludo
130  Programación / Programación C/C++ / Re: Nodos y punteros, ayuda C++ en: 9 Diciembre 2014, 12:04 pm
Código
  1. if(imagenes.prmLlegada == NULL){
  2. imagenes.prmLlegada = nuevo;
  3. }
  4. else{
  5. Nodo* i = imagenes.prmLlegada;
  6. Nodo* j = imagenes.prmVotos;
  7.  

supongo que si "imagenes.prmLlegada == NULL", entonces "imagenes.prmVotos" será igualmente NULL, no? No puedo saberlo a ciencia cierta porque no has puesto el código necesario para ello. Pero bueno, sigo a lo mío. El caso es que este segundo puntero no lo actualizas debidamente, sin embargo después, a la hora de insertar la segunda imagen, haces tranquilamente "Nodo* j = imagenes.prmVotos;" y manipulas ese puntero como si estuviese apuntando a un elemento válido.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 125
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines