¿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