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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [39] 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 401
381  Programación / .NET (C#, VB.NET, ASP) / Re: Array de clases sin dimencion en: 2 Agosto 2017, 15:09 pm
Un array, para usaarlo, tienes siempre que crearlo primero. new Persona[5], por ejemplo.

Luego, si resutla que quieres agregar 1 elemento, tendrás que crear otro array de 6 elementos y copiar los 5 primeros del anterior array.

Para hacer esto ya hay un método, Array.Resize:
Código
  1. Array.Resize(ref array, 6);
Este método se encarga de copiar los elementos del array anterior al nuevo. Al ir por referencia, no hace falta que cambies el contenidod e tu array ni nada.
382  Programación / Programación C/C++ / Re: Sobrecargar Operador por defecto de una clase en: 2 Agosto 2017, 12:55 pm
Tienes operadores para convertir tipos. Su declaración es:
Código
  1. operator <tipo>();
  2. operator int();

Aquí es importante ver la importancia de la palabra "explicit":
Código
  1. explicit operator int();

Con explicit, solo podrás hacer la conversión haciendo un cast manualmente (por ejemplo, (int)a)

Un ejemplo de todo esto:
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. class A {
  7. public:
  8.    operator int(){
  9.        return 1;
  10.    }
  11.  
  12.    explicit operator const char*(){
  13.        return "_1";
  14.    }
  15. };
  16.  
  17. int main(){
  18.    A a;
  19.  
  20.    int n = a;
  21.  
  22.    const char* c = (const char*)a;
  23.  
  24.    cout << a << c << endl;
  25. }

De todos modos, cuidado con implementar estos operadores sin la palabra explicit. En caso de errores o confusiones, estos operadores pueden ocultar el error. Por ejemplo:
Código
  1. class A {
  2. public:
  3.    operator int*(){
  4.        return nullptr;
  5.    }
  6. };
  7.  
  8. int main(){
  9.    A a;
  10.  
  11.    void* n = &a;
  12.    void* m = a; // Nos hemos olvidado el ampersand, y como la conversión de int* a void* es implícita también, no da problema.
  13. }


Siempre que implementes estos operadores, suele ser buena idea proveer además un método "normal" de conversión, tipo "getCString()"
383  Programación / Programación C/C++ / Re: Aprender a usar APIS en: 2 Agosto 2017, 00:47 am
Una "API" no la utilizas porque sí. Ha de haber alguna razón por la cuál la quieras utilizar. Una librería no la usas porque sí, la usas porque te conviene ya sea porque implementa algoritmos que te libras de implementar tú (librería estándar de C++, por ejemplo), ya sea porque te maneja el acceso a servicios o al propio sistema operativo (API de windows), porque envuelve otros temas de una forma más manejable (SDL, SFML, librerías de vídeo o audio)...

Te recomiendo que busques un punto, lo enfoques, y avances hacia él. Busca un proyecto que te interese hacer. Cuanto menos complejo, mejor. Cuando lo acabes, podrás avanzar en otra dirección.
¿Quieres hacer una ventana con gráficos? ¿Descargar o servir páginas web? ¿Algún proyecto o <necesidad> que tengas en mente? (al fin y al cabo, se programa para solventar necesidades)

Una vez sepas qué quieres hacer, mira qué no sabes hacer. Y aquí estamos para guiarte en cómo lo podrás hacer. Y quien sabe, quizás te recomendemos usar una API ;D
384  Foros Generales / Foro Libre / Re: Cumpleaños en: 1 Agosto 2017, 16:37 pm
Felicidades Engel lex! Y ahora, pongamos unas frases famosas de Engel:


· Los códigos deben ir en etiquetas GeSHi
· Los títulos deben ser descriptivos
>aquí las reglas del foro
-Engel Lex, con cariño
385  Programación / Programación C/C++ / Re: no me muestra la parte de la factura y tampoco me genera el txt de la factura. en: 1 Agosto 2017, 14:02 pm
Si pones >> estás leyendo de fic4 y guardando en fac. Suponiendo que fic4 no exista, esté vacío o tenga la factura como tú se la hayas escrito anteriormente, ¿qué es lo que pretendes que guarde en "fac"?
386  Programación / Programación C/C++ / Re: no me muestra la parte de la factura y tampoco me genera el txt de la factura. en: 1 Agosto 2017, 11:43 am
Por qué este:
Código
  1. fin4>>fac;

En cualquier caso, después de abrir cada archivo con open, deberías poner un:
Código
  1. if(ficN.fail()){
  2.    // Error al abrir el archivo
  3. }
Para asegurarte de que lo ha abierto correctamente. Mera comprobación.

Del mismo modo, si solo vas a leer de un archivo, no hace falta que pongas la flag ios::out. Trata de ser lo más extricto posible con las flags.

Otro detalle es que no necesitas según veo 4 fstreams. Dado que abres y cierras siempre, puedes usar la misma variable.
387  Programación / Programación C/C++ / Re: No me funciona este código en: 1 Agosto 2017, 09:44 am
No he dicho que fuera a funcionar diferente (...)
388  Programación / Programación C/C++ / Re: No me funciona este código en: 31 Julio 2017, 21:44 pm
Que majadero trabajar en C++- Con razón que hoy en día solo lo hacen los que se acostumbraron en el pasado.

Con todo el respeto, no saber C++ no hace C++ un mal lenguaje.

Y bueno, es mala prácctica meter los case dentro de las llaves. Debería ser:

Código
  1. switch(a){
  2.    case 1:
  3.    {
  4.        // Código
  5.    }
  6. }
389  Programación / Programación C/C++ / Re: No me funciona este código en: 31 Julio 2017, 19:26 pm
Y si aun tuvieras problemas, mira la documentación del código de error.
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/fatal-error-c1854
390  Foros Generales / Foro Libre / Re: Posthumanismo en: 31 Julio 2017, 19:22 pm
La evolución no sale solo de mutaciones y combinaciones genéticas naturales.
Páginas: 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [39] 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 401
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines