Что произойдет если приведенный ниже код попытаться откомпилировать и запустить на выполнение? #include
class P{
private:
int *dynamic_int;
public:
P(){
dynamic_int = new int;
*dynamic_int = 0;
}
P(const P & p){
dynamic_int = new int;
*dynamic_int = p.GetValue();
}
P(int n){
dynamic_int = new int;
*dynamic_int = n;
}
~P(){
delete dynamic_int;
}
P & operator = (P & p){
*dynamic_int = p.GetValue();
return *this;
}
void SetValue(int n){
*dynamic_int = n;
}
int GetValue() const{
return *dynamic_int;
}
};
int main(){
P A,B(3),C = A;
B.SetValue(2);
A = B;
std::cout<return 0;
}
Ответы:
1. Будет выведено: 1 2. Будет выведено: 2 3. Будет выведено: 3 4. Будет выведено: 0 5. Синтаксическая ошибка, связанная с недоступностью или отсутствием поля, оператора или функции. 6. Синтаксическая ошибка, связанная с отсутствием конструктора копирования. 7. Синтаксическая ошибка, связанная с отсутствием перегруженного оператора присваивания. 8. GP-ошибка или ошибка нарушения работы функций управления памятью.

  • 1. 1
  • 2. 2
  • 3. 3
  • 4. 4
  • 5. 5
  • 6. 6
  • 7. 7
  • 8. 8
Для просмотра статистики ответов нужно войти.