В чем проблема со следующим кодом?
class A
{
public:
A() {}
~A(){}
};
class B: public A
{
public:
B():A(){}
~B(){}
};
int main(void)
{
A* a = new B();
delete a;
}
Поведение не определено, потому что деструктор A не является виртуальным. 
class A
{
public:
A() {}
~A(){}
};
class B: public A
{
public:
B():A(){}
~B(){}
};
int main(void)
{
A* a = new B();
delete a;
}
👍10
  ❤2
  Предположим, что целое число занимает 4 байта и в следующих классах нет выравнивания, предскажите вывод.
  Anonymous Quiz
    13%
    0
      
    29%
    40
      
    44%
    80
      
    14%
    4
      
    👍4❤3
  😢9👍4
  👍11🤔1
  Что выведет код?
  Anonymous Quiz
    21%
    0
      
    46%
    У программы неопределенное поведение
      
    14%
    Compiler Error
      
    18%
    Другое
      
    👍4👎1
  Вынесет ли компилятор strlen() в отдельную переменную?
  Anonymous Quiz
    32%
    Нет
      
    68%
    Да, GCC сделает так
      
    👍8
  👍7
  Может ли класс в С++ реализовывать сразу несколько интерфейсов?
  Anonymous Quiz
    37%
    Да, интерфейсов можно реализовывать сколько угодно
      
    6%
    Нет, класс одновременно может реализовать только один интерфейс
      
    40%
    Интерфейсов как конструкции языка вообще нет в С++
      
    17%
    Реализовать можно только один, а вот наследоваться от любого количества
      
    👍3🥰2
  