Что будет напечатано в результате работы программы:
class A { public: A() { cout << "A "; }; virtual A* new_A() { return new A(); } }; class B : public A { public: B(){ cout << "B " ;}; A* new_A() { return new B(); } }; void fun(A* p1, A* p2) { A* p3 = p1->new_A(); A* p4 = p2->new_A(); } void main() { A* p1 = new A; B* p2 = new B; fun(p1,p2); }
(Отметьте один правильный вариант ответа.)
Варианты ответа
А А А В В В
A В B A В B
A A B A A B(Верный ответ)