Eine frage
-
hi leute wie kann ich in der methode
int summe()
die summe von datA1 und datB rechnen da datA1 private ist
#include <iostream> using namespace std; class A{ int datA1; protected: int datA2; public: A(){datA1=0;datA2=0;} void ausgabe(){cout<<"datA1="<<datA1<<"datA2="<<datA2<<endl;} void eingabe(){ cout<<"Bitte datA1 eingaben:";cin>>datA1; cout<<"Bitte datA2 eingaben:";cin>>datA2; } int getSum() { return datA1+datA2; } }; class B: public A { private: int datB; public: B() { A::A(); datB=0; } void ausgabe(){ A::ausgabe(); cout<<"datB"<<datB; } void eingabe(){ A::eingabe(); cout<<"Bitte datB";cin>>datB; } int summe(){ } }; int main() { }
-
Du musst den Wert entweder als Parameter übergeben oder ihn min. protected machen
-
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 }