C++相談室 part15
■ このスレッドは過去ログ倉庫に格納されています
0476デフォルトの名無しさん
NGNGclass A {
public:
~A() { cout << "~A" << endl; }
void foo() { cout << "A" << endl; }
};
class B : public A {
public:
virtual ~B() { cout << "~B" << endl; }
virtual void foo() { cout << "B" << endl; }
};
class C : public B{
public:
virtual ~C() { cout << "~C" << endl; }
virtual void foo() { cout << "C" << endl; }
};
main() {
A* a = new C; // 危険
a->foo();
delete a;
B* b = new C;
b->foo();
delete b;
}
さて、何がどう呼ばれるでしょう?
■ このスレッドは過去ログ倉庫に格納されています