Zwei Klassen in einer Header Datei

Auch dieser Konstruktor macht nichts:
C++:
 Polar::Polar(Complex *c):Complex(){
    
                
              double r=0;
              double phi=0;
             
};
 
laut der Aufgabe muss ich aber einen Initialisierungs-konstruktor definieren mit der Signatur
C++:
Polar(Complex *c)

also Konstruktor mit einem Parameter vom Typ Complex für die explizite Initialisierung der Attribute beider Klassen !


lg
 
Das kann sein, allerdings machst du da aber nichts. Ich schätze mal die Idee des Konstruktors ist nicht die eigenen Werte mit 0 zu initialisieren sondern mit dem was von der komplexen Zahl übergeben wurde.
 
das ist die aufgabestellung !
zwei Methoden

Polar(Complex *c) ;
Initialisierungs-Konstruktor mit einemParameter vom TypComplexfür die explizite Initialisierung der Attribute beiderKlassen.Die Attribute der KlassePolarsollen mit dem Wert0initialisiert werden.
Hinweis: Achten Sie auf einen korrekten Aufruf des Konstruktors der Oberklasse!

double abs();
berechnet den Absolutbetrag|r|einer komplexen Zahl.
double getPhi()
berechnetdas Argument phi und ist der Winkel zwischen der1. Koordinatenachse und dem Vektor (a,b).


also ich glaube , das war richtig wie ich das initialisiert habe aber ich weiss immer noch nicht wieso bekomme ich ein inf als ergebnis !

grüße
 
Richtig wars nicht, weil du weiterhin die zwei lokalen Variabeln r und phi mit 0 belegst, aber nicht die der Klasse.

Ausserdem solltest du nicht den STandardkonstruktor von Complex aufrufen, sondern wohl den, der die Werte auch initialisiert, also Complex(double, double), sonst bringt der Parameter ja nichts.
 
stimmt , ich habe es gerade so gemacht und hat funktioniert

C++:
Polar::Polar(Complex *c){
 	
 	        this-> Real=c->Real;
 	        this-> Imaginaerteil=c->Imaginaerteil;
	        double r=0;
	        double phi=0;
			 
};


ich habe aber leider die attribute von klasse komplex public deklariert , und nicht sowie es in der aufgabe mit private verlangen wurde .

ich hab mit setta und getta zugriffsmethode versucht , hat aber leider nicht geklappt .

lg
 
Bitte achte ein wenig mehr auf die Nettiquette, durchgehendes Kleinschreiben in Postings ist bereits ein Verstoss gegen selbige. Es ist nicht zu viel verlangt sich die Mühe zu machen vor einem Wort zu überlegen, ob man es gross oder klein schreibt ;)

Du erfüllst auch in einer anderen Weise deine Aufgabe nicht. Wie ich bereits vorhin erwähnte sollst du den Konstruktor von Complex aufrufen der die entsprechenden Parameter von c bekommt. Weiterhin haben die folgenden Zeilen absolut keinen Effekt:
C++:
            double r=0;
            double phi=0;

Du machst lokale Variabeln r und phi, weist ihnen den Wert 0 zu und verwendest sie nie. Du sollst aber die Variabeln der Klasse mit einem Wert initialisieren.
 
Zurück