- 论坛徽章:
- 0
|
template< class T >
class a_ptr :
public automatic_object< T*, _pointer_manager< T* > >
{
public:
// Function name : a_ptr< T >
// Description : Automatic pointer constructor
// Return type :
// Argument : T* p = NULL
a_ptr< T >( T* p = NULL) :
automatic_object< T*, _pointer_manager< T* > >( p )
{
}
a_ptr< T >( const a_ptr< T >& a ) :
automatic_object< T*, _pointer_manager< T* > >( *const_cast< a_ptr< T >* >( &a ) )
{
}
a_ptr< T >& operator=( T* p )
{
automatic_object< T*, _pointer_manager< T* > >: perator=( p );
return *this;
}
// Function name : operator=
// Description :
// Return type : a_ptr< T >&
// Argument : a_ptr< T >& a
a_ptr< T >& operator=( const a_ptr< T >& a )
{
automatic_object< T*, _pointer_manager< T* > >: perator=( a );
return *this;
}
// Function name : operator *
// Description :
// Return type :
T& operator*()
{
return *m_Object;
}
// Function name : operator ->
// Description :
// Return type :
T* operator->()
{
return m_Object;
}
};
int mian()
{
a_ptr< manager > pManager = new manager();
}
请问红色部分应该怎么理解呢???
是先构造pManager然后在operator=还是怎么回事???? |
|