In terms of readability,
bool Test( SampleType sample )
{
return SubTest1( sample )
&& SubTest2( sample )
&& SubTest3( sample );
}
is far clearer than either of your options. Otherwise, you definitely
want the else
to make it clear that once one of the conditions has
been met, none of the others will be tested.