template< typename P >
class A
{
 private:
    
 public:
  P m;
  A( P f ) : m( f ){}
};

class B : public A< int >
{
 private:
  typedef A< int > TBase;
 public:
  B( int f ) : TBase( f ){}
};

int main( void )
{
 B lb( 8 );
 return ( 0 );
}