C
Entweder du deklarierst datA1 als protected, dann ist er auch aus abgeleiteten Klassen verfügbar, oder du spendierst Klasse A eine (protected oder public) Methode getA1(), mit der du auf den Wert zugreifen kannst.
Hm, Möglichkeit 3 wäre noch:
int B::summe()
{
return
A::getSum() //datA1+datA2
-A::datA2 //protected, also erreichbar
+datB; //eigenes Element, also erreichbar
}