“Conocimiento Programación>C /C + + Programming

¿Qué es un destructor virtual en C

2014/10/24
¿ Porque C + + utiliza una programación orientada a objetos , o el modelo de programación orientada a objetos , como parte de su diseño , los programadores deben familiarizarse con algunos conceptos de programación orientada a objetos , tales como clases y objetos . Cuando un programador desea desarrollar un objeto para su uso en el código, se debe diseñar la funcionalidad del objeto en una "clase". Una clase define los datos y funciones que un objeto puede utilizar . Un tipo específico de función de objeto, el destructor virtual, para su uso requiere que un programador entiende el papel de los destructores de las clases , el concepto de herencia de clases , y el uso de funciones virtuales en C + + de programación . Herencia

A fuerza de programación orientada a objetos radica en el concepto de herencia . Cuando un programador desea ampliar la funcionalidad de un objeto, o si se comparte la mayor parte del objeto funcional de otro objeto con diferencias de menor importancia , el programador puede derivar una clase de otra . Cuando una clase se deriva de otra clase ( la clase "base" ) , tiene acceso a las variables y funciones definidas en la primera clase . En este ejemplo , la clase "bola " se deriva de la clase "esfera " y extiende su funcionalidad
clase

Sphere {

pública : .

GetRadius int ( ) {

retorno r ;

}

int r ;

}
bola clase

: Esfera pública {public


:
de color cadena

;

}
virtuales funciones

Dado que una clase derivada tiene acceso a todas las funciones de la clase base , se puede utilizar como un momento como si estuviera actuando como clase base . Sin embargo , la clase derivada puede modificar en lugar de una función en la clase base para adaptarse a sus necesidades . Además , una clase base puede servir como una plantilla para la clase derivada . En este caso, la clase base nombrará a las funciones sin la definición de lo que hacen, en lugar de dejar que a las clases derivadas . Una función en una clase base que no hace nada , en vez de salir una clase derivada para ponerlo en práctica, se denomina función "virtual " .

Destructores

Integral al objeto de diseño es la implementación de las funciones de " destructor ", " constructor " y . Una función constructora para una clase define cómo un objeto creado a partir de la clase primera inicializarse ( lo que los valores de datos predeterminados que contendrá , por ejemplo). El destructor , por el contrario , determina lo que ocurre cuando un objeto se elimina de la memoria (¿cómo se elimina la información que contiene , por ejemplo). Este código de ejemplo muestra cómo una clase define primero constructor y destructor funciones
clase

Sphere {

Esfera ( ) . //Constructor

~ Esfera ( ) //destructor

}
Virtual destructores

Debido a la forma en las clases y los destructores de trabajo, cuando una clase derivada se borra de la memoria , tanto en el destructor de la derivada clase y el destructor de la clase base debe ser llamada. Para lograr esto , los programadores crean destructores virtuales de clases base , que las clases derivadas pueden definir . Este ejemplo muestra una clase base con un destructor virtual y una clase derivada con su propio destructor
clase

Esfera {

Esfera ( ) ; .

Virtual de ~ Esfera ( ) { } //la palabra "virtual " se refiere a una clase

}

bola virtual de clase : Esfera pública {
bola

();

~ bola (): //Eliminación de un objeto " bola" a llamar a este destructor y la esfera destructor

C /C + + Programming
Cómo escribir un simple controlador de dispositivo PCI
Cómo utilizar Alice programar juegos
¿Qué se conoce por permitir que los procesos que se ejecutan lógicamente se suspendan temporalmente?
Cómo hacer una cadena en una matriz de caracteres en C + +
Cómo hacer un botón de comando invisible en Visual C
Cómo leer una línea al azar de un archivo en CSH
¿Qué es el formato udp?
¿Se requiere ensamblador para cumplir con el código ejecutable?
Conocimiento de la computadora © http://www.ordenador.online