Sì, ma se inizi ad avere oggetti tenuti dentro per puntatore devi pensare ad una semantica di copia sensata, o quantomeno disabilitare costruttore di copia e operatore di assegnamento, altrimenti con il costruttore di copie di default ti ritrovi più ObjectB che puntano allo stesso a1 e cercano tutti di distruggerlo alla loro distruzione (con risultati catastrofici).
In generale, se possibile è più semplice avere membri "veri" e non puntatori a roba allocata sull'heap.