Рубрики

C ++ | Перегрузка оператора | Вопрос 10

Как мы можем ограничить динамическое размещение объектов класса, используя new?
(A) перегружая новый оператор
(B) Делая пустой частный новый оператор.
(C) Создавая пустые приватные операторы new и new []
(D) перегружая новый оператор и новые операторы []

Ответ: (с)
Объяснение: Если мы объявляем операторы new и [] new , объекты не могут быть созданы нигде (внутри класса и вне класса)
Смотрите следующий пример. Мы не можем выделить объект типа Test, используя 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;
}

Тест на этот вопрос

Рекомендуемые посты:

C ++ | Перегрузка оператора | Вопрос 10

0.00 (0%) 0 votes