Eine Klasse in eine andere übergeben (Anfänger)
-
Moin Forum,
schon mal vorab danke für eure Mühe und Hilfe.
Die Gestellte Übungsaufgabe (keine Hausaufgabe) lautet:
"Schreiben Sie eine Klasse „Kreis“. Die Klasse soll aus einem Punkt und
einem Radius bestehen. Es soll neben dem Standardkonstruktor einen
weiteren Konstruktor geben, bei dem der Punkt und der Radius übergeben
werden können (Auch hier kein setValues!)."Den "Punkt" gibt es schon in Form einer anderen Klasse.
{ public: Kreis(); Kreis(int r,Punkt); ~Kreis(); private: int M_r; int M_Punkt; } { Kreis::Kreis(int r, Punkt): M_r(r) { M_Punkt = Punkt; } }
Der meckert jetzt und sagt, dass der Typname class Punkt nicht zulässig ist.
Ich erinnere mich aber wage daran, dass man pointer* oder byreference& übergeben kann, aber weiß leider nicht wie das genau ging. Hab schon bisschen gegooglet, aber bin leider nicht unbedingt schlauer als vorher.Ich glaub mir fehlt noch bisschen der AHA-Effekt in Sachen programmieren. Wäre also sehr dankbar über eine Erklärung bzw. einen Ansatz zur Lösung.
Vielen Dank.
-
nur Punkt zu übergeben geht nicht. Du musst eine Variable vom Typ Punkt übergeben.
Schreibe statt
Kreis(int r,Punkt);
Kreis(int r,Punkt p);
-
Warum ist M_Punkt ein int?
Niemand hier will wissen, ob du die indirekte Rede beherrscht. Copy&Paste!