Files
test/virtual_typo.cpp
2012-12-06 21:43:03 +04:00

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;
}