问题描述
int main( )
{
Base *ptrBase = new Derived( 50,60,70 );
Derived *ptrDerived = ( Derived*)ptrBase;
ptrDerived->printRecord( );
delete ptrBase;
return 0;
}
解决方法
向上是从派生到基,向下是从基到派生。所以在你的情况下,这是一种沮丧。
int main( )
{
Base *ptrBase = new Derived( 50,60,70 );
Derived *ptrDerived = ( Derived*)ptrBase;
ptrDerived->printRecord( );
delete ptrBase;
return 0;
}
向上是从派生到基,向下是从基到派生。所以在你的情况下,这是一种沮丧。