70 lines
995 B
C++
70 lines
995 B
C++
|
|
#include <stdio.h>
|
|
|
|
class base
|
|
{
|
|
public:
|
|
virtual void virt_func( int ) const
|
|
{
|
|
puts( "This is base::virt_func." );
|
|
}
|
|
};
|
|
|
|
class typo_name : public base
|
|
{
|
|
public:
|
|
virtual void virt_fanc( int ) const
|
|
{
|
|
puts( "This is typo_name::virt_fanc." );
|
|
}
|
|
};
|
|
|
|
class typo_name2 : public base
|
|
{
|
|
public:
|
|
void virt_fanc( int ) const
|
|
{
|
|
puts( "This is typo_name::virt_fanc." );
|
|
}
|
|
};
|
|
|
|
class typo_arg : public base
|
|
{
|
|
public:
|
|
virtual void virt_func( long ) const
|
|
{
|
|
puts( "This is typo_arg::virt_func." );
|
|
}
|
|
};
|
|
|
|
class typo_const : public base
|
|
{
|
|
public:
|
|
virtual void virt_func( int )
|
|
{
|
|
puts( "This is typo_arg::virt_func." );
|
|
}
|
|
};
|
|
|
|
void call_virt_func( base* p )
|
|
{
|
|
p->virt_func( 0 );
|
|
}
|
|
|
|
int main ( int, char** )
|
|
{
|
|
typo_name o1;
|
|
typo_name2 o2;
|
|
typo_arg o3;
|
|
typo_const o4;
|
|
|
|
call_virt_func( &o1 );
|
|
call_virt_func( &o2 );
|
|
call_virt_func( &o3 );
|
|
call_virt_func( &o4 );
|
|
|
|
return 0;
|
|
}
|
|
|
|
|