Programming Test
Что будет выведено в результате исполнения следующего кода
class A
{
public:
A() {cout << "A";}
~A() {cout << "~A";}
virtual void f() {cout << "fA";}
};
class B : public A
{
public:
B() {cout << "B";}
~B() {cout << "~B";}
virtual void f() {cout << "fB";}
};
class C : public A
{
public:
C() {cout << "C";}
~C() {cout << "~C";}
virtual void f() const {cout << "fC";}
};
int main(int argc, char* argv[])
{
A* pA1 = new A(), *pA2 = new B(), *pA3 = new C();
pA1->f();
pA2->f();
pA3->f();
delete pA1;
delete pA2;
delete pA3;
return 0;
}