Apuntando a funciones miembro estáticas en c ++

UN función miembro estático es, en muchos sentidos, sólo una función simple y llano. La diferencia es que usted tiene que utilizar un nombre de clase para llamar a una función estática. Pero recuerda que una función miembro estática no va con cualquier instancia particular de una de clase por lo tanto, no es necesario especificar una instancia cuando se llama a la función estática.

He aquí un ejemplo de clase con una función estática:

pública: MyClassName cadena estática () {return "Gobstopper!"- int} WhichGobstopper-int Chew (string name) {cout lt; lt; WhichGobstopper lt; lt; endl-cout lt; lt; nombre lt; lt; endl retorno WhichGobstopper -}} -

Y aquí hay un código que toma la dirección de la función estática y la llama mediante el uso de la dirección:

typedef cadena (* StaticMember) () - StaticMember staticfunc = &Gobstopper :: MyClassName-cout lt; lt; staticfunc () lt; lt; endl-

Cabe destacar que en la última línea, usted no tiene que hacer referencia a una instancia específica para llamar staticfunc () - y no era necesario hacer referencia a la clase, tampoco. Usted acaba de llamar él. Porque la verdad es que en el fondo, la función estática es sólo una función simple y llano.

Artículos Relacionados