Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

почему данный код не скомпилируется

Роман Манасытов Ученик (95), закрыт 5 лет назад
class A {
public:
virtual A() {};
virtual ~A() {};
virtual void f1() = 0;
virtual void f2() = 0;
}
class B: public A {
public:
B() {};
~B() {};
void f1() {};
}
int main(int argc, char** argv) {
B* b = new B();
delete b;
return 0;
}
Лучший ответ
Иван Сигаев Искусственный Интеллект (156804) 5 лет назад
constructors cannot be declared ‘virtual’
expected ‘;’ after class definition
invalid new-expression of abstract class type ‘B’

Какая ошибка требует перевода?
Роман МанасытовУченик (95) 5 лет назад
первое и последнее
Иван Сигаев Искусственный Интеллект (156804) constructors cannot be declared ‘virtual’ конструктор не может быть определен как виртуальный invalid new-expression of abstract class type ‘B’ неправильное использование оператора new на абстрактном классе
Остальные ответы
Юрий Семыкин Искусственный Интеллект (217992) 5 лет назад
Наверно, ВЫ его не компилируете. Он сам не будет компилироваться. Вы попробуйте! Любой текст будет компилироваться, а компилятор сообщит в чём ошибка.
Роман МанасытовУченик (95) 5 лет назад
ну да, там у меня выводит что на третей строке нельзя использовать virtual и на 15-ом нельзя использовать обьект B. Почему?
Похожие вопросы