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

 

 


Tema destacado: Top 20 herramientas Hacking más populares de 2020


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19
121  Programación / Programación C/C++ / Re: palabra class en la declaración de una variable.. en: 8 Marzo 2019, 04:32 am
Ya veo, entonces es una practica para que el compilador no se confunda (digo no se confunda, en vez de decir que no encuentra ambiguo el código).. asi con la palabra class diferencia qué es un tipo y que es una variable..

gracias por las respuestas..
122  Programación / Programación C/C++ / palabra class en la declaración de una variable.. en: 7 Marzo 2019, 19:39 pm
Buenas ..

Cual es el objetivo de la siguiente sintaxis ?

Código
  1. #include "ActorY"
  2.  
  3. class Actor{
  4.  
  5. public:
  6.  
  7.     class ActorY _actorY;     //Que pinta class aqui?
  8.  
  9. };
  10.  
  11.  

Saludos y gracias.
123  Programación / Programación C/C++ / Re: Ayuda, problema ejercicio juego ahorcado en: 7 Marzo 2019, 19:30 pm
Hola, este es tu código usando el tag de código del sitio...

No comprendo mucho de C, pero tu código no da algún error antes de compilar ?


Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int vidas=6;
  5. int correctas=0;
  6.  
  7. main (){
  8.     void lineas(int n, char a[]);
  9.     char palabra[100];
  10.     char letra;
  11.     char guiones[100];
  12.     int longitud;
  13.     void buscar_letra(char p[], int n, char l, char g[]);
  14.  
  15.     printf ("Digite la palabra a adivinar: ");
  16.     scanf ("%s", palabra);
  17.     fflush(stdin);
  18.     system("cls");
  19.     longitud= strlen(palabra);
  20.     lineas(longitud,guiones);
  21.     printf ("\n");
  22.     printf("\n\t||===== ");                
  23.     printf("\n\t||    | ");
  24.     printf("\n\t||      ");
  25.     printf("\n\t||      ");
  26.     printf("\n\t||      ");
  27.     printf("\n\t||      ");
  28.  
  29.     while (vidas>0){
  30.          printf ("\nDigite la letra: ");
  31.          scanf("%c",&letra);
  32.          fflush(stdin);
  33.  
  34.          if (letra>= 'a'&& letra<='z'){
  35.               buscar_letra(palabra,longitud,letra,guiones);
  36.          } else {
  37.               printf ("\nNo es una letra o la letra es mayuscula (digite una letra minuscula)");
  38.          }
  39.     }
  40. }
  41.  
  42.  
  43. void buscar_letra(char p[100], int n, char l,char g[]){
  44.     int i;
  45.  
  46.     for(i=0;i<n;i++){
  47.          if(p==l){
  48.          printf ("%c", l);
  49.          correctas++;
  50.  
  51.     }else {
  52.          printf ("*");
  53.     }
  54.  
  55. }
  56.  
  57. if (correctas==n){
  58.  
  59.      printf ("\n ADIVINASTE LA PALABRA!!!");
  60.      printf ("\n Ganaste...");
  61.  
  62. }
  63.  
  64.  
  65. void lineas(int n, char a[]) {
  66.       int i;
  67.  
  68.       for (i=0;i<n;i++){
  69.           printf("* ", a);
  70.       }
  71. }
  72.  
  73.  
124  Programación / Programación C/C++ / Re: Error de simbolo externo sin resolver (MSVS) en: 7 Marzo 2019, 18:18 pm
seria como una llamada anidada de archivos.. verdad?

main llama a Clase.h y ésta llama a Clase.hpp ?

Saludos...!"
125  Programación / Programación C/C++ / Re: Error de simbolo externo sin resolver (MSVS) en: 7 Marzo 2019, 04:21 am
Ya entendí, me autorespondo por si alguien mas le interesa la razón..

Pasa que las funciones de clases que usen plantilla son siempre inline, es decir se deben declarar y definir dentro de la clase o al menos en el mismo archivo, creo que a este punto la extensión adecuada del archivo sería .hpp


126  Programación / Programación C/C++ / Error de simbolo externo sin resolver (MSVS) en: 7 Marzo 2019, 03:54 am
Hola amigos..

Estoy estudiando templates y no comprendo este comportamiento:

A continuacion la forma en que NO funciona (con esta forma obtengo el error que sale en el titulo)

Código
  1. //Clase.h
  2.  
  3. template <class TM>
  4. class Clase{
  5.  
  6.     TM num1, num2;
  7.  
  8. public:
  9.     Clase(TM n1, TM n2);
  10.     TM ObtenerMultiplicacion() const;
  11.  
  12. };
  13.  


Código
  1. //Clase.cpp
  2.  
  3. #include "Clase.h"
  4.  
  5. template <class TM>
  6. Clase<TM>::Clase(TM n1, TM n2){
  7.     this->num1 = n1;
  8.     this->num2 = n2;
  9. }
  10.  
  11.  
  12. template <class TM>
  13. TM Clase<TM>::ObtenerMultiplicacion() const{
  14.     return this->num1 * this->num2;
  15. }
  16.  


Sin embargo, con esta forma SI que funciona:
Código
  1. //Clase.h
  2.  
  3. template <class TM>
  4. class Clase{
  5.  
  6.     TM num1, num2;
  7.  
  8. public:
  9.     Clase(TM n1, TM n2);
  10.     TM ObtenerMultiplicacion() const;
  11.  
  12. };
  13.  
  14. template <class TM>
  15. Clase<TM>::Clase(TM n1, TM n2){
  16.     this->num1 = n1;
  17.     this->num2 = n2;
  18. }
  19.  
  20.  
  21. template <class TM>
  22. TM Clase<TM>::ObtenerMultiplicacion() const{
  23.     return this->num1 * this->num2;
  24. }
  25.  

Como verán, declarar la clase y definir sus miembros dentro del mismo archivo me funciona, pero si lo separo, no va... y me parece extraño, porque en el archivo Clase.cpp estoy incluyendo la cabecera con #include "Clase.h"

Que ha sucedido??


gracias de antemano.






127  Programación / Programación C/C++ / Re: Infracción de acceso al leer la ubicación... en: 5 Marzo 2019, 01:05 am
Ok, pero el primer caso me daba error, no podía si quiera mostrar la dirección de memoria..
128  Programación / Programación C/C++ / Re: Infracción de acceso al leer la ubicación... en: 4 Marzo 2019, 22:52 pm
Ya entiendo!, el ejemplo que puse aquí funciona, pensé que el problema estaba en la forma en que llamaba al archivo binario lectura y escritura, y en realidad el problema estaba en que dentro de UnaClase, tengo una variable tipo char * nombre, que me estaba dando el problema, es decir, para lectura y escritura binaria me tengo que olvidar de usar punteros.... es asi? .,..  simplemente reemplace :

Código
  1. char * nombre;
  2.  

por

Código
  1. char nombre[16];
  2.  

y funciono...
curioso.. pero por que sucede esto?, acaso el compilador se confunde cuando copio memoria de un puntero?

En otras palabras, si deseo copiar información en forma binaria a un archivo y leerlo también en forma binaria, la fuente no puede ser memoria dinámica.

Gracias a ambos por las respuestas
129  Programación / Programación C/C++ / Infracción de acceso al leer la ubicación... en: 4 Marzo 2019, 19:42 pm
Buenas.

Estoy intentando guardar y leer de/a un archivo en forma binaria, no tengo problemas guardando, el problema va leyendo el archivo:


Código
  1.  
  2. Ifstream fromFile;
  3. fromFile.open("Archivo.bin", iOS::binary);
  4.  
  5. if (fromFile.good()){
  6.  
  7.     UnaClase uc;
  8.  
  9.     fromFile.read((char*)&uc, sizeof(UnaClase));
  10.  
  11.     //La siguiente linea me da el error:
  12.     std::cout << uc.LeerNumero() << std::endl;
  13.  
  14.  
  15. }
  16.  

Pareciera que no se está escribiendo la información en la memoria que le corresponde a la variable "uc".

Que podrá ser=?

gracias.
130  Programación / Programación C/C++ / Re: c++ bajo nivel en: 4 Marzo 2019, 19:08 pm
Buen apunte, gracias,...
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines