C++ | Varios C++ | Pregunta 5

¿Cómo podemos hacer una clase de C++ tal que los objetos de ella solo se puedan crear usando el operador nuevo?

Si el usuario intenta crear un objeto directamente, el programa produce un error de compilación.
(A) No es posible
(B) Haciendo que el destructor sea privado
(C) Haciendo que el constructor sea privado
(D) Haciendo que tanto el constructor como el destructor sean privados

Respuesta: (B)
Explicación: Vea el siguiente ejemplo.

// Objects of test can only be created using new
class Test
{
private:
    ~Test() {}
friend void destructTest(Test* );
};
 
// Only this function can destruct objects of Test
void destructTest(Test* ptr)
{
    delete ptr;
}
 
int main()
{
    // create an object
    Test *ptr = new Test;
 
    // destruct the object
    destructTest (ptr);
 
    return 0;
}

Consulte https://www.geeksforgeeks.org/private-destructor/ para obtener más detalles.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *