Funciones miembro de clases C ++

La naturaleza de las funciones miembro de C ++

En C ++, la función miembro de una clase es un tipo de función, que tiene un valor de retorno y un tipo de función. La diferencia entre esta y una función general es solo:

Los miembros que pertenecen a una clase aparecen en el cuerpo de la clase.
Puede especificarse como privado, público o protegido.

Cuando C ++ usa una función de clase, preste atención al permiso para llamarla y su alcance. Las funciones miembro privadas solo pueden ser llamadas por otras funciones miembro en esta clase y no pueden ser llamadas fuera de la clase. Las funciones miembro pueden acceder a esta clase. El miembro puede hacer referencia a datos válidos en este ámbito.

El enfoque general es designar las funciones miembro que el mundo exterior necesita llamar como públicas. Son la interfaz externa de la clase, pero debe tenerse en cuenta que no todas las funciones miembro deben ser designadas como públicas.

En C ++, algunas funciones no están diseñadas para ser llamadas para el mundo exterior, pero son llamadas por funciones miembro de esta clase, por lo que deben designarse como privadas. La función de este tipo de función es apoyar la operación de otras funciones, es una función de otros miembros de la clase y los usuarios fuera de la clase no pueden llamar a estas funciones privadas.

La función miembro de una clase es una parte muy importante del cuerpo de la clase. Si una clase no contiene funciones miembro, es equivalente a una estructura en el lenguaje C, y los lectores deben prestar especial atención.

Función miembro de definición de clase C ++

Las funciones miembro mencionadas anteriormente se definen en el cuerpo de la clase. En C ++, también puede escribir solo la declaración de la función miembro en el cuerpo de la clase y definir la función fuera de la clase.

Defina la función de impresión fuera de la clase:

struct Student //用struct来声明一个类类型 
{
    
    
  private: //声明以下为私有的 
    int number; //学号 
    char name[10];//姓名 
    char sex; //性别 
  public: //声明以下为共有的 
    void print_info(); //函数声明 
};
void Studnet::print_info() //在类外定义打印函数 
    {
    
    
      cout<<number<<endl;
      cout<<name<<endl;
      cout<<sex<<endl;
    };
Student stu1,stu2;//定义了Student类对象

Cuando C ++ define directamente una función en el cuerpo de la clase, no hay necesidad de agregar el nombre de la clase antes del nombre de la función, pero cuando la función miembro se define fuera de la clase, el nombre de la clase debe agregarse antes del nombre de la función. .

//作用域限定符

En C ++, un calificador de alcance se usa para declarar a qué clase pertenece una función. Si no hay un nombre de clase antes del operador de alcance, o no hay un nombre de clase ni un calificador de alcance antes del nombre de la función, significa que la función no No pertenece a ninguna Clase, esta función no es una función miembro, sino una función global.

Las funciones de clase C ++ deben declararse primero en el cuerpo de la clase y luego definirse fuera de la clase, lo que significa que la posición del cuerpo de la clase debe estar antes de la definición de la función, de lo contrario se producirá un error durante la compilación.

Aunque la función se define fuera de la clase, cuando se llama a una función miembro, la definición de la función se encuentra de acuerdo con el prototipo de función declarado en la clase y la función se ejecuta.

Arriba, si lees y piensas que es útil para ti, dale un cumplido a Xiaolin, para que Xiaolin también tenga la motivación para actualizar, gracias padres y compañeros ~ Más casos de
funciones de miembros
de C ++ pueden ir a la cuenta pública: Entrada en lenguaje C a la competencia

Supongo que te gusta

Origin blog.csdn.net/weixin_48669767/article/details/112761715
Recomendado
Clasificación