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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  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 ... 33
101  Programación / Programación C/C++ / Re: Sobrecarga de operador << solo me compila si uso la palabra "friend" en: 13 Febrero 2019, 15:54 pm
Para los operadores, considera el tipo que esta a la izquierda del operador. Son distintos cuando usas << y cuando usas ==

ostream << clase

clase == clase

Donde defines la funcion o metodo, depende del tipo de la izquierda del operador.

El primero de ellos se define fuera de la clase, el segundo dentro de la misma.

Los metodos al interior de la clase no necesitan especificar el operando de la izquierda del operador, pues se sobreentiende que se trata del objeto donde se ejecuta el metodo. Solo requieren especificar 1 parametro, el de la derecha del operador.

Cuando pones la firma de la funcion dentro de la clase, sin poner friend, el compilador te va reclamar no porque no pusiste "friend", te va a reclamar porque al ponerla dentro de la clase, es un metodo como el resto y el operator<< solo puede recibir 1 parametro y le estas pasando 2.

102  Programación / Programación C/C++ / Re: Punteros fantasmas... (asi le puse yo).. en: 12 Febrero 2019, 02:28 am
Hay un error en lo especificado antes:

En el codigo que preguntas

Código
  1.  
  2. int * sumar(int a, int b){
  3.     int * psuma = new int;
  4.     *psuma = a + b;
  5.     return psuma;
  6.  
  7. }
  8.  
  9. int main (){
  10.     int a = 5;
  11.     int b = 10;
  12.  
  13.     int * punteroSuma = new int;    //modificado el nombre
  14.     punteroSuma = sumar(a, b);
  15.  
  16.     delete punteroSuma;      //aqui se elimina psuma, punteroSuma o ambos?
  17. }
  18.  
  19.  

al asignar punteroSuma el resultado de sumar(), se pierde el valor que habias asignado antes.
Esa memoria no la estas liberando, ni se liberara en el delete del final.
103  Programación / Programación C/C++ / Re: Punteros fantasmas... (asi le puse yo).. en: 12 Febrero 2019, 02:27 am
Hay un error en lo especificado antes:

En este codigo,

Código
  1.  
  2. int * sumar(int a, int b){
  3.     int * psuma = new int;
  4.     *psuma = a + b;
  5.     return psuma;
  6.  
  7. }
  8.  
  9. int main (){
  10.     int a = 5;
  11.     int b = 10;
  12.  
  13.     int * punteroSuma = new int;    //modificado el nombre
  14.     punteroSuma = sumar(a, b);
  15.  
  16.     delete punteroSuma;      //aqui se elimina psuma, punteroSuma o ambos?
  17. }
  18.  
  19.  
104  Programación / Programación C/C++ / Re: Llevo 1 año estudiando C++ aprox., y aún no hallo sentido a los punteros.. en: 10 Febrero 2019, 16:17 pm
Hay otras situaciones en que los punteros tambien son utiles y muestran su poderio.

Los punteros pueden guardar direcciones de memoria de otras zonas que no has pedido explicitamente, y leer o escribir alli informacion o datos que tu quieras.

Las funciones de tu programa tambien tienen direcciones de memoria y un puntero puede guardar esa direccion y luego ir e invocar esa funcion. Puedes usar esto para, en una clase por ejemplo, hacer que un codigo sirva para multiples propositos, pues la funcionalidad se "inyecta" hacia otra, parecido al patron de dicen~o Strategy.
No es necesario realmente una clase para este uso, una funcion tambien puede recibir como parametro a un puntero a una funcion, para hacer algo parecido a lo mencionado previamente, por ejemplo, la funcion qsort recibe como tercer parametro la direccion de memoria de una funcion
e.g. http://www.cplusplus.com/reference/cstdlib/qsort/
105  Programación / Programación C/C++ / Re: Programar lista en: 8 Febrero 2019, 16:55 pm
Muestra lo que llevas, también te sugiero buscar el tópico en Google, lo que quieres hacer es un clásico.
106  Programación / Programación C/C++ / Re: Programar lista en: 8 Febrero 2019, 15:24 pm
Y cuál es tu pregunta.especifica?
107  Programación / Programación C/C++ / Re: Que significa <>() ? (Esto lo vi en Unreal) en: 8 Febrero 2019, 15:22 pm
Templates! Es una manera que inventaron para no repetir código. Si no existiera este truco, habría tantas clases escritas como tipos.

Es similar a los arreglos, que pueden ser arreglos de enteros o de floats o de Tu clase, pero en vez de arreglos son clases que usan un tipo en varias partes.

Sugiero revises el material de Templates.
108  Programación / Programación C/C++ / Re: Es posible usar ( como expresion regular? c++ <regex> en: 2 Febrero 2019, 17:20 pm
No sirve escapar los paréntesis?
109  Programación / Programación C/C++ / Re: Ayuda con este programa sobre lectura de txt en: 26 Enero 2019, 03:30 am
Los if else if else evaluan TODAS las condiciones, si todas ellas son falsas, y esta seguidilla de evaluaciones se detiene cuando alguna de las condiciones es verdadera.
El codigo que tienes ademas de evaluar todas las condiciones SIEMPRE, cambia los valores y por lo tanto afecta el valor de verdad de las condiciones que se evaluan.
110  Programación / Programación C/C++ / Re: Ayuda con este programa sobre lectura de txt en: 25 Enero 2019, 22:02 pm
Te sugiero que pongas else entre los ifs porque los nuevos valores son considerados en los siguientes ifs, si lo dejas así.
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 ... 33
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines