派生オブジェクトを保持しているベースポインタは、引き続きベース関数を指すことができますか?基本機能は、仮想されていた場合はここで ベースポインタの派生オブジェクトがベース関数を呼び出す方法は?
a_ptr = &b_obj;
a_ptr->disp();
後、私はここに派生オブジェクトが基底関数を呼び出すために管理することができますベースポインタhodlingをfunction.Butベースにするアドレスを保持しているV-テーブルの関与を、理解しています。
シーンの後ろに何が起こるのか誰にでも光を投げることができますか?
class A
{
public:
//virtual void disp()
void disp()
{ cout<< "From class A\n" << endl; }
};
class B : public A
{
public:
void disp()
{ cout << "From Class B\n" <<endl; }
};
int main()
{
A a_obj;
A *a_ptr;
B b_obj;
a_ptr = &a_obj;
a_ptr->disp();
a_ptr = &b_obj;
a_ptr->disp();
}