ExtendedWhole::setParts()
void ExtendedWhole::setParts( const PartOne& p1, const PartTwo& p2, const PartThree& p3) { setP1(p1); setP2(p2); body = p3;}
Notes:
Writing setParts() looks equally easy, Whole provides methods for setting p1 and p2, and we have access to body to set that.
==>*Is this method exception safe?*<==
[It is, but it only supports the weak exception safety guarantee. - Consider what happens if setP2() throws an exception?]