Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - PiroskY

#41
la verdad que me parece una forma horrenda y engorrosa eso de poner la cabecera en un archivo y desarrollarlas en otro

Yo hago un .h para cada clase, y debajo de la clase desarrollo sus métodos
Y si los métodos son extremadamente cortos, los desarrollo ahí mismo.


Respondo lo que creo es tu duda:

Supongo que si te aventuraste con las clases, ya pasaste por las estructuras,
De ser así, te comento, el principal cambio es el encapsulamiento.
(o es lo que importa de momento, según interpreto tu duda)

Vos con estructuras podes acceder a sus atributos simplemente con estructura.atributo

Ahora, si estas usando clases como corresponde, todos tus atributos van a ser privados y solo vas a poder acceder a ellos mediante métodos de esa clase (los cuales, obviamente, tienen que ser públicos)
Entonces, si tu clase tiene un atributo Dato1, vos vas a tener que mediante un método, devolver ese dato o un puntero al mismo
Y si lo vas a querer modificar, vas a tener que crear un método que reciba el nuevo valor de Dato1 y reemplazar al anterior

Acá pongo un ejemplito:

Main
Código (cpp) [Seleccionar]

#include <iostream>
#include <string.h>
#include "Class.h"

using namespace std;

int main()
{
    clsPersona persona1;

    cout << "Ingrese la edad" << endl;
    persona1.setEdad();

    cout << "Ingrese el nombre" << endl;
    persona1.setNombre();

    cout << endl;
    cout << persona1.getNombre() << endl;
    cout << persona1.getEdad() << endl;

return 0;
}


Class.h
Código (cpp) [Seleccionar]

using namespace std;

class clsPersona
{
    private:
        char nombre[30];
        int edad;

    public:
        char* getNombre(){return this->nombre;};
        int getEdad(){return this->edad;};
        void setNombre(){cin >> this->nombre;};
        void setEdad(){cin >> this->edad;};
};


Por otro lado:

"Después para poder usar los metodos de esa clase en otra, bastaria con incluir el #include "archivo.h" y ya podria acceder a sus metodos y atributos con un objeto de dicha clase , ¿no?"

Me genera mucha intriga lo que dijiste ahí.
Hablas de usar los métodos de una clase para otra clase?

"podría acceder a sus atributos con un objeto de dicha clase".
Por las dudas te aclaro, cuando vos instancias una clase, estas creando un "paquete" de sus atributos, no es que la clase tiene sus atributos y vos accedes a ellos mediante el objeto.
Vos podes tener muchos objetos de una misma clase, y cada uno tiene su atributo nombre por ejemplo, cada uno independiente del otro.

espero algo de esto te sirva, y no haber escrito tanto al dope.

saludos
#42
Foro Libre / Re: duda "mi mira fijamente"
25 Julio 2011, 19:51 PM
jajaja que buen thread

jajajajajaajaj
#43
1 Bucle for de 1 a 64, usas el indice y lo transformas a binario

2 Pedis fecha de nacimiento, (año actual-1 - año de nacimiento)*365 +1 dia por cada año bisiesto en el medio + los dias que transcurrieron este año

3 un int para cada mes, con su numero de dias, si el mes febrero te fijas si el año es bisiesto para saber si agregar un dia o no, si el ems no es febrero, mostras el numero correspondiente al mes
#44
Muy interesante, espero actualizaciones
#45
Código (cpp) [Seleccionar]

int main()
{
   int num,m1,m2=-1;

   cout << "Ingrese un numero (-1 para finalizar): ";
   cin >> num;

   m1=num;
   m2=m1;

   while(num!=-1)
   {
       if(num<m1)
       {
           m2=m1;
           m1=num;
       }
       else
           if(num<m2)
               m2=num;

       cout << "Ingrese un numero (-1 para finalizar): ";
       cin >> num;
   }

   if(m1!=m2)
       cout << "El segundo menor es:"<< m2;
   else
       cout << "El segundo menor no existe";

return 0;
}
#46
Programación C/C++ / Re: Sumar un porcentaje
24 Julio 2011, 22:51 PM
1 No entiendo por que hacen una funcion "total" que despues usan en un caso si y en otro no, cuando sirve para los dos, simplemente dandole un iva y el otro
2 Me parece que es demasiado simple lo que hace esa funcion como para crearla, pero bueno, eso ya es tema de gustos
3 Necesitas la variable global iva? de no ser asi te diria que la metas en el main
4 usas un double(int) para guardar el numero 18, cuando con un unsigned char alcanza y sobra (para el uso que le estas dando). O, si en realidad no lo necesitas, podes en el if en vez de poner iva, poner 18 y ahorrarte una variable
#47
Programación C/C++ / Re: Matriz
18 Julio 2011, 05:15 AM
no olvides que tanto un char como un int son numeros(ascii)
asi que en cualquiera de los dos podes guardar cualquiera de los 2 tipos, la diferencia es la cantidad de cada uno que vas a poder guardar
#48
hace una funcion que reciba un numero y devuelva un bool dependiendo si es primo o no
dalo vuelta y volveselo a dar a esa funcion, si las dos veces dio true es porque es omirp
#49
Programación C/C++ / Re: TIENDA VIRTUAL
13 Julio 2011, 00:44 AM
Yo creo que si vos hiciste ese código, deberías saber hacer lo que preguntas

Usa un acumulador donde vayas acumulando "total" cada vez que lo muestra

y al final, si ese acumulador es mayor a 300, aplicas el descuento
#50
En mi opinión, no necesitas "saber como hacer un juego" para poder hacer un juego
Yo hice uno usando SDL, y nunca leí nada de como hacer un juego, simplemente tenes que pensar como programador, desglosar tus problemas en problemas mas pequeños, y usando las funciones disponibles resolverlos


http://es.wikipedia.org/wiki/Simple_DirectMedia_Layer

espero te sirva