// Bridge. cpp: defines the entry point of the console application.
//
# Include "stdafx. H"
# Include <iostream>
Using namespace STD;
Class implementor
{
Public:
Implementor ()
{
}
Virtual ~ Implementor ()
{
}
Virtual void operationimp () = 0;
};
Class concreteimpleteora: Public implementor
{
Public:
Concreteimpleteora ()
{
Cout <"Construction of concreteimpleteora" <Endl;
}
Virtual ~ Concreteimpleteora ()
{
Cout <"destruction of concreteimpleteora" <Endl;
}
Virtual void operationimp ()
{
Cout <"Operation of concreteimpleteora" <Endl;
}
};
Class concreteimpleteorb: Public implementor
{
Public:
Concreteimpleteorb ()
{
Cout <"Construction of concreteimpleteorb" <Endl;
}
Virtual ~ Concreteimpleteorb ()
{
Cout <"destruction of concreteimpleteorb" <Endl;
}
Virtual void operationimp ()
{
Cout <"Operation of concreteimpleteorb" <Endl;
}
};
//////////////////////////////////////// ////////////////////
Class program action
{
Public:
Required action (implementor * m_p): m_pimplementor (m_p ){}
Virtual ~ Invalid action ()
{
Delete m_pimplementor;
M_pimplementor = NULL;
}
Void operation ()
{
M_pimplementor-> operationimp ();
}
PRIVATE:
Implementor * m_pimplementor;
};
Int _ tmain (INT argc, _ tchar * argv [])
{
Concreteimpleteora * p_concreteimpleteora = new concreteimpleteora ();
Required action * p_required action = new required action (p_concreteimpleteora );
P_1_action-> operation ();
Delete p_role action;
Return 0;
}