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

¿Qué es un destructor virtual en C

2013/7/8
¿ 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 ocultar un botón en Visual C
Cómo mostrar un triángulo rectángulo de números en la programación C
Cómo programar Game Boy Advance Juegos
¿Qué hacer con un error Atrapado en C
Definir una matriz multi-dimensional en C + +
Cómo utilizar el vector STL Container Class
Cómo visualizar Fuentes de MFC
Cómo aprender Visual C + +
Conocimientos Informáticos © http://www.ordenador.online