Señalando a funciones miembro estáticas en c ++

LA función miembro estática es, en muchos sentidos, sólo una función simple y llano. La diferencia es que usted tiene que usar un nombre de clase para llamar a una función estática. Pero recuerde que una función miembro estática no va con cualquier instancia particular de una de clase, por 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: static MyClassName string () {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 algo de código que toma la dirección de la función estática y llama utilizando la dirección:

cadena typedef (* 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. Sólo llamaste. Porque la verdad es que en el fondo, la función estática es sólo una función simple y llano.




» » » » Señalando a funciones miembro estáticas en c ++