База ответов ИНТУИТ

Язык программирования C++

<<- Назад к вопросам

Если в классе операция delete переопределена как
void operator delete(int x, void* addr)
то при вызове
A* ptr; . . . delete(10, ptr);

(Отметьте один правильный вариант ответа.)

Варианты ответа
освободится массив из 10 элементов типа a
ошибка компиляции(Верный ответ)
аргумент 10 будет передан в оператор delete
Похожие вопросы
Если в классе операция new переопределена как
void* operator new(size_t size, int a);
то какой вызов этой операции правильный?
Что выполняет операция "delete [] v;" в данном ниже коде:
	class MyClass {    int sz; // число элементов    int * v; // указатель на целые   public:     MyClass ( int );     ~MyClass ();      int&operator [] ( int index ); // операция индексации };…MyClass::~ MyClass() {   delete [] v; }	
Если в классе определяется операция delete, то
Если в производном классе переопределена операция new то:
Если в классе A определены методы
A(int x);operator int();operator++(int);
то какие из них будут вызваны в следующем выражении ?
A b; static_cast <int> (b + 1);
Что произойдёт при использовании неправильного адреса в операции delete?
Если в конструкторе класса
class  A { public:    A() { ptr = new char[size];         Init(); }    ~A() { if (ptr) delete[] ptr; }    char* ptr; };
произойдет исключительная ситуация, будет ли потеряна память при откате по стеку?
Верен ли код
Team::Player p; p.GoGoGo();
для класса Team, описанного следующим образом:
class Team{public: int score; class Player { public:  void GoGoGo(){ printf("Player is going to a goal.\n");  } }; void SetScore(int x){ score = x;} void ShowScore(){printf("%d\n",score);}};  
Если имеется программа
int a;  //в глобальном пространстве void f() { extern int a; a = 8; }
и в функции main() выполняется
a = 3; f(); cout << a;
то какой будет результат?
Какой будет результат у данного выражения?
	int *i = new int;	...	i = new int;	...	delete i;