Llame a la relación entre la función miembro estática en miembros de datos estáticos C ++, miembros de datos no estáticos, función miembro no estático

C ++, estos tres tipos de relaciones son las siguientes:

      Hay que entender primero: función miembro estática puede llamar a los miembros de datos no estáticos, específicamente cómo llamar, véase más adelante.

clase A 

{

público:

       diversión static void (A a)

       { 

              cout << b << endl; (错误)

              cout << ab << endl; (正确)

        }

privte:

       b int;

}

Al igual que en el ejemplo anterior, si la función de miembro estático para llamar miembro de datos no estático, debe ser mediante una llamada específica objeto, ¿por qué?

La razón: Dado que las funciones miembro estáticas y miembros de datos no estáticos son propiedad de toda la clase, no es específico de un objeto específico, para llamar a la función miembro estática no es la finalidad del objeto, a diferencia de la función miembro no estática ya que hay una sabemos que esto es como objetos implícitos de esta clase a los miembros acceso no estáticos. Así parámetro de la función miembro debe haber una manera de acceder a un objeto de un miembro de datos específico no estáticos.

resumen:

     (1) función miembro estática puede llamar directamente a los miembros de datos estáticos y funciones miembro no estáticos de la clase, pero llamar a los miembros de datos no estáticos cuando sea necesario para llamar el parámetro objeto pasado por cierto.

     (2) En general, (1) Tampoco se recomienda llamar a esto los miembros de datos no estáticos, el papel principal es el de los miembros de datos función miembro estática de acceso estáticos de una clase, el mantenimiento de intercambio de datos entre los objetos.

Publicado 23 artículos originales · ganado elogios 4 · Vistas 9981

Supongo que te gusta

Origin blog.csdn.net/hxp1994/article/details/89810109
Recomendado
Clasificación