llamada a un método estático

miembros de la clase 1.static

C ++ dentro de imprimación dijo, miembros de la clase a diferencia de los miembros de datos estáticos de la clase ordinaria, los miembros de datos estáticos de la clase independiente de todos los objetos de la clase. miembros de datos de clase estática se asocian con la clase,

Pero el objeto no tiene ninguna relevancia para la definición de la clase. Eso no es como una ordinaria miembros de datos estáticos de clase, ya que cada objeto tiene una clase, toda clase de objeto es un miembros de la clase estática compartidos.

Un ejemplo modificado de la clase de objeto a un miembro estático, el miembro estático del valor de clase del objeto correspondiente al objeto B es también 1.

miembros de la clase estática no ocupan objeto espacial

#include <iostream> el uso de espacio de nombres std; clase A {
     público : 
        A () {} ~ A () {} 
     privada :
         static int x;  // static int x = 1;错误estática void M_DATA ( int a) 
        {x = a; }      
}; int A :: x = 1 ; int main () 
{ 
    A my_class; 
    cout << sizeof (my_class) << endl; 
    volver 0 ; 
}

 


         
        
         



 
Ver código

 

Nota: objeto de la clase estática debe ser inicializado fuera de la clase

clase del texto   
{   
    público :  
     static  int COUNT;   
};   
  
int el Texto :: count = 0 ; // con las variables miembro estática debe ser inicializado    
  
int main ()   
{   
    T1 texto;   
    COUT << t1.count << endl;   
     retorno  0 ;   
} // salida del programa 0

variables estáticas modificados antes de que el objeto existe, por lo que las variables estáticas a ser modificados fuera de la inicialización de la clase. Dado que las variables estáticas son compartidos por todos los objetos deben ser mejores que los objetos preexistentes.

clase del Texto   
{   
    público :  
     static  int COUNT;   
};   
  
int el Texto :: COUNT = 0 ; // con las variables miembro estático debe ser inicializado    
  
int main ()   
{   
    el T1 texto;   
    la T2 texto;   
      
    t1.count = 100 ;      // T1 a los objetos miembros estáticos para contar 100    
    t2.count tribunal << << endl; // cuando se imprime el objeto de un miembro estático t2, la pantalla 100 no es 0    
    retorno  0 ;   
}

funciones miembro de clase 2.Static

 

Dado que los miembros de la clase estáticos modificados pertenecen a la clase, no están cubiertos, así que no hay funciones miembro de clase estático de este puntero, este puntero es un puntero que apunta a este objeto. Debido a que no existe este puntero, la función miembro

No se puede acceder miembro de la clase no estática se puede acceder a los miembros estáticos de clase única modificados.

clase del texto   
{   
    público :  
     static  int Diversión ()   
    {   
        retorno NUM;   
    }   
    static  int COUNT;  
     int NUM;   
};   
int el Texto :: = COUNT . 5 ; // con las variables miembro estático se debe inicializar    
  
int main ()   
{   
    T1 texto;   
    el texto T2;   
    t1.num = 100 ;   
      
    t1.fun (); // se produjo un error, diversión no estático función miembro de la clase si el recuento de retorno devolvería el correcto    
    retorno  0 ;   
}

Llamar al método:

  (1) objeto de la clase llamando
  (2) llamando el nombre de clase

# include <iostream la> el uso de espacio de nombres de enfermedades de transmisión sexual;
 la clase de la cuenta {
     público :
         estática doble m_rate;     // declaración: clase de objeto independiente estática vacío set_rate ( const doble y X) { 
              m_rate = X; 
        } 
}; Doble la Cuenta :: = m_rate 1,0 ;     // configurar la inicialización, establecer el valor inicial (definida: la obtención de la memoria) int main () 
{ 
    la cuenta :: set_rate ( 5,0 );       // nombre de la clase llamando 
    cout << cuenta :: m_rate <<

  
          
    



 endl;
    A la Cuenta; 
    a.set_rate ( 7,0 );     // objeto para llamar a una función miembro estática, el compilador ya no se añadirá a los parámetros de este indicador, la operación implícita 
    tribunal << << m_rate la Cuenta :: endl;
     retorno  0 ; 
}

 

 

Supongo que te gusta

Origin www.cnblogs.com/xiaokang01/p/12453623.html
Recomendado
Clasificación