派生クラスのポインタをアップキャストした後も、派生クラスの仮想メソッドが呼び出されますが、スライスが発生するはずだったので、これは間違っているように思われます。このコードの何が問題になっているのかコメントしていただけますか?
class Base
{
public:
virtual void Hello() { cout << "Hello Base" << endl; }
};
class Derived: public Base
{
public:
void Hello() { cout << "Hello Derived" << endl; }
};
int main()
{
Derived* der = new Derived;
Base* base = dynamic_cast<Base*> (der);
if (base) base->Hello();
}
出力:Hello Derived