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

Sergio Barcena sbgaster en gmail.com
Mar Nov 28 11:23:08 CET 2006


On 11/28/06, Steven R. Davidson <vze266ft en verizon.net> wrote:
>
> Hola Sergio,
>
> Hola, si lo entendi bien  los "metodos de clase" siempre tienen que ser
> static para poder ser llamados desde la clase.

    Otra cosa, de donde sale la definicion de metodos miembro y metodos de
clase si realmente se llaman    funciones miembro y funciones miembro
estaticas?

Saludos y gracias por la aclaracion.


Veamos. Una clase es un tipo, mientras que un objeto es una instancia de
> una clase. Por ello, a veces se dice "instancia" para referirse a la
> creación de un objeto o al objeto en sí. Algunos textos hablan de
> métodos para referirse a funciones miembros de una clase.
>
> Dicho lo anterior, los métodos de una instancia son aquellas funciones
> miembros que son invocadas a través de un objeto de tal clase. Los
> métodos de una clase son aquellas funciones que son invocadas
> directamente mediante la clase. Bajo C++, hablamos de funciones miembros
> estáticas en lugar de métodos de una clase. Por ejemplo,
>
> class Algo
> {
> private:
>    double num;
>
> public:
>    Algo( int a=0 ) : num(a)  {}
>
>    double sumar( double a )  { return a+num; }
>    double numero() const  { return num; }
>
>    static double pi();
> };
>
> double Algo::pi()  { return 3.1415926535898; }
>
> En los casos de 'sumar()' y 'numero()', estas funciones miembros deben
> ser invocadas a través de un objeto de la clase 'Algo'. Por el otro
> lado, la función estática 'pi()' ya se puede usar sin tener que crear un
> objeto previamente. Por ejemplo,
>
> int main()
> {
>    Algo obj( 100.0 );
>
>    cout << obj.numero() << " + " << Algo::pi() << " = "
>         << obj.sumar( Algo::pi() ) << endl;
>
>    return 0;
> }
>
>
> Espero haber aclarado la duda.
>
> Steven
>
>
>
>
> _______________________________________________
> 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/20061128/f4ae9c38/attachment.html>


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