[C con Clase] Metodos de clase y metodos de instancia, diferencia

Estudiante :) ye ye sbgaster en gmail.com
Vie Dic 1 17:16:12 CET 2006


---------- Forwarded message ----------
From: Ferran Ferri <ferranferri en gmail.com>
Date: Dec 1, 2006 12:53 PM
Subject: Re: [C con Clase] Metodos de clase y metodos de instancia,
diferencia
To: Lista de correo sobre C y C++ <cconclase en listas.conclase.net>

 No es tan dificil. Mira, aquí tengo una clase



Class A{

    A(){

            printf("soy un constructor");

    }

    void funcA(){

            printf("soy una funcion");

    }

}



Esto es la declaracion de una clase. Tiene un metodo llamado funcA. Este
metodo es un metodo de instancia. Si le pusiera la palabra static se
convertiria en metodo de clase. La diferencia? Imagina que quisieramos hacer
una clase que cada vez que llamemos al constructor incremente un contador,
por ejemplo, para saber cuantas instancias tenemos de esa clase.



Class A{

    private:

           int b;

           static int contador;

    public:

    A(){

            printf("soy un constructor");

            A::contador++;

            b++

    }

    void funcA(){

            printf("%d %d",A::cont,b);

    }

}



Que estamos haciendo? Pues si te fijas en la clase, tenemos dato miembro
llamado b y otra llamada cont que es estatico. El estatico crecera siempre.
B sera siempre 1 (si esta correctamente inicializado, que aquí no esta). La
idea de las funciones es exactamente lo mismo. Cuando tienes una funcion de
clase, llamas a esa funcion sin necesidad de tener una instancia de la
clase, es decir, sin necesidad de habere creado antes un objeto de esa
clase. Cuando se usan este tipo de funciones? Cuando tienes una clase que
quieres llamar sin tener la seguridad de haberla creado, por ejemplo.

Ferran Ferri <fferri en redsauce.net>


Perfecto gracias a vuestros mensajes ya lo tengo claro, creo que el problema
que tengo es de terminologia, intento leer todo lo que encuentro de estos
temas pero cada uno utiliza una forma diferente de decir las cosas.


 Saludos



--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.409 / Virus Database: 268.15.3/561 - Release Date: 01/12/2006

_______________________________________________
Cconclase mailing list
Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20061201/af2464e2/attachment.html>


Más información sobre la lista de distribución Cconclase