#include <iostream>
using std::cout;
using std::endl;
class __switch
{
public:
virtual int todo( void ) = 0;
};
class case_0 : public __switch
{
public:
virtual int todo( void )
{
return 0;
}
};
class case_1 : public __switch
{
public:
virtual int todo( void )
{
return 1;
}
};
class case_2 : public __switch
{
public:
virtual int todo( void )
{
return 2;
}
};
class __default : public __switch
{
public:
virtual int todo( void )
{
return 100;
}
};
void test_switch( __switch* p )
{
cout << p->todo( ) << endl;
}
int main( void )
{
__default p;
test_switch( &p );
/*--------------------------
test_switch( 参数 )
{
参数类型为case_0: return 0;
参数类型为case_1: return 1;
参数类型为case_2: return 2;
参数类型为__default: return 100;
}
-------------------------*/
return 0;
}