El miembro especial funciona (C++)
C++ define varias clases de funciones que se pueden declarar únicamente como miembros de clase — éstas se denominan “las funciones miembro especiales.” Estas funciones afectan a la manera en que los objetos de una clase determinada, se crean destruido, copiar, y convertir en objetos de otros tipos.Otra propiedad importante de muchas de estas funciones es que se pueden llamar implícito (por el compilador).
Las funciones miembro especiales descritas en esta sección son las siguientes:
constructores.Inicialización automática de objetos.
destructores.Realizar tareas de limpieza después de que los objetos se destruye implícita o explícitamente.
funciones de conversión.Convertir entre los tipos de clase y otros tipos.
nueva función de operador.Asigna dinámicamente almacenamiento.
función de operador delete.Almacenamiento de versiones asignado mediante el operador de nuevo .
operador de asignación (operator=).Se utiliza cuando una asignación.
Los elementos de la lista anterior pueden estar definida por el usuario para cada clase.
Las funciones miembro especiales siguen las mismas reglas de acceso que el otro miembro.las reglas de acceso se describen en Control de acceso a miembros.La tabla siguiente resume cómo las funciones miembro y de confianza se comportan.
resumen de comportamiento de la función
Tipo de función |
¿Es la función Heredados de clase base? |
¿Puede la función ser virtual? |
¿Puede la función devolver un valor? |
¿Es la función miembro o un Friend? |
¿El compilador generará la función si usuario Does Not? |
---|---|---|---|---|---|
Constructor |
No |
No |
No |
Miembro |
Sí |
Constructor de copia |
No |
No |
No |
Miembro |
Sí |
Un destructor |
No |
Sí |
No |
Miembro |
Sí |
Conversión |
Sí |
Sí |
No |
Miembro |
No |
asignación (operator=) |
No |
Sí |
Sí |
Miembro |
Sí |
new |
Sí |
No |
void* |
miembro estático |
No |
eliminar |
Sí |
No |
void |
miembro estático |
No |
Otras funciones miembro |
Sí |
Sí |
Sí |
Miembro |
No |
Funciones friend |
No |
No |
Sí |
Friend |
No |