Apontando para funções de membro estático em c ++

UMA função de membro estático é, em muitos sentidos, apenas uma função velho liso. A diferença é que você tem que usar um nome de classe para chamar uma função estática. Mas lembre-se que uma função de membro estático não ir com qualquer instância específica de uma aula, portanto, você não precisa especificar um exemplo, quando você chamar a função estática.

Aqui está um exemplo de classe com uma função estática:

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

E aqui está um código que leva o endereço da função estática e chama-lo usando o endereço:

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

Note-se que na linha final, você não tem que se referir a uma instância específica para chamar staticfunc () - e você não precisa se referir à classe, também. Você apenas chamou. Porque a verdade é que, no fundo, a função estática é apenas uma função velho liso.


Publicações relacionadas