Ciclo de vida de Objetos en C++ con Ejemplo

En la programación orientada a objetos , los objetos son las instancias de una clase que tiene su propio estado (variables) y comportamiento (métodos) .  Cada clase tiene dos métodos especiales relacionados con la creación y destrucción de objetos de una clase : constructores y destructores .  Ciclo de vida del objeto C++: Hay varios … Continue reading «Ciclo de vida de Objetos en C++ con Ejemplo»

C++ Preguntas de entrevista basadas en constructores/destructores.

1. ¿Qué es destructor ? Respuesta Destructor es una función miembro a la que se llama cuando un objeto se elimina/destruye o queda fuera del alcance. class String { private:     char* s;     int size;    public:     String(char*); // constructor     ~String(); // destructor }; 2. ¿Cuál es el propósito de usar un destructor en C++? Respuesta … Continue reading «C++ Preguntas de entrevista basadas en constructores/destructores.»

Regla de tres en C++

Esta regla básicamente establece que si una clase define uno (o más) de los siguientes, debe definir explícitamente los tres, que son: incinerador de basuras copiar constructor operador de asignación de copias Ahora intentemos entender por qué. Los constructores predeterminados y los operadores de asignación hacen una copia superficial y creamos nuestro propio constructor y operadores … Continue reading «Regla de tres en C++»

Destructores en C++

¿Qué es un destructor?  Destructor es una función miembro de instancia que se invoca automáticamente cada vez que se va a destruir un objeto. Es decir, un destructor es la última función que se llamará antes de que se destruya un objeto. Destructor es también una función miembro especial como constructor. Destructor destruye los objetos … Continue reading «Destructores en C++»

Destrucción virtual usando shared_ptr en C++

Requisito previo: shared_ptr , Destructor virtual Como sabemos, eliminar un objeto de clase derivado usando un puntero a una clase base que tiene un destructor no virtual da como resultado un comportamiento indefinido. Por lo tanto, hacemos que el destructor de clase base sea virtual para que los objetos polimórficos se eliminen correctamente en el … Continue reading «Destrucción virtual usando shared_ptr en C++»

Destructor privado en C++

Los destructores con el modificador de acceso privado se conocen como destructores privados. Siempre que queramos evitar la destrucción de un objeto, podemos hacer que el destructor sea privado. ¿Cuál es el uso de destructor privado? Siempre que queramos controlar la destrucción de objetos de una clase, hacemos privado el destructor. Para los objetos creados … Continue reading «Destructor privado en C++»

Jugando con Destructores en C++

Prediga la salida del fragmento de código siguiente. #include <iostream> using namespace std;    int i;    class A { public:     ~A()     {         i=10;     } };    int foo() {     i=3;     A ob;     return i; }    int main() {     cout << «i = » << foo() << endl;     return 0; } La salida del … Continue reading «Jugando con Destructores en C++»