template< class arg >
class Master;
class StageA;
class StageB;
class Slave
    :public Master<Slave>
{
public:
    Slave();
    StageA  start{this};
    StageB  stop{this};
 };
Slave::Slave()
    :Master<Slave>( start ){}
Newbie to the concept of templates. I am unable to understand the usage of the last line in this piece. Can some one please explain what is happening here?
 
     
    