C++ | Sobrecarga del operador | Pregunta 10 – Part 2

¿Cómo podemos restringir la asignación dinámica de objetos de una clase usando new?
(A) Sobrecargando el nuevo operador
(B) Haciendo un nuevo operador privado vacío.
(C) Al hacer que los operadores new y new[] sean privados y vacíos
(D) Al sobrecargar los operadores new y new[] Respuesta

: (C)
Explicación: si declaramos los operadores new y [] new , entonces los objetos no se pueden crear en ninguna parte (dentro de la clase y fuera de la clase)
Ver el siguiente ejemplo. No podemos asignar un objeto de tipo Test usando new.

#include <stdlib.h>
#include <stdio.h>
#include <iostream>

using namespace std;

class Test {
private:
    void* operator new(size_t size) {}
    void* operator new[](size_t size) {}
};

int main()
{
    Test *obj = new Test;
    Test *arr = new Test[10];
    return 0;
}

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 *