W pierwszym wystarczy a = new B; . Teraz wskaźnik a zawiera adres do nowo utworzonego obiektu.
Pisząc c = &a; , zapisujesz adres wskaźnika a do c. Tzn. teraz wskaźnik c zawiera adres zmiennej, w której jest zapisany adres na obiekt B.
Drugi musiałeś źle przepisać, bo nie moge się połapać o co chodzi. "a nastepnie przypisze do obiektu bedacego argumentem do pola danych."